atop
매일 10분 간격으로 로그를 저장하고 를 사용하여 읽을 수 있는데 , atop -r <path_to_log>
이 로그에서 메모리 사용량 급증을 어떻게 찾을 수 있나요?
답변1
기록된 데이터를 분석하는 명령어는 입니다 atopsar
.
예를 들어:
# atopsar -r /var/log/atop/atop_20170511 -m -R 1 | head
trucka 3.4.113-sun7i+ #1 SMP PREEMPT Fri Oct 28 16:54:21 CEST 2016 armv7l 2017/05/11
-------------------------- analysis date: 2017/05/11 --------------------------
00:00:01 memtotal memfree buffers cached dirty slabmem swptotal swpfree _mem_
00:10:01 1888M 604M 381M 422M 0M 185M 2047M 2047M
00:20:01 1888M 604M 381M 422M 0M 185M 2047M 2047M
00:30:01 1888M 604M 381M 422M 0M 185M 2047M 2047M
00:40:01 1888M 604M 381M 422M 0M 185M 2047M 2047M
당신의 상황에서 어떤 기억이 당신에게 중요한지 고려해야합니다.
사용 가능한 메모리의 가장 낮은 지점을 찾으려면 세 번째 열(memfree)을 기준으로 정렬하는 것이 합리적일 수 있습니다. 또한 가장 많은 메모리가 사용되는 지점을 찾기 위해 swapfree(열 9)를 살펴보는 것을 고려할 수도 있습니다. 이로 인해 메모리 관리가 스와핑을 위해 페이지 아웃됩니다.
예를 들어, sort 명령을 사용하여 사용 가능한 가장 낮은 메모리를 얻기 위해 출력을 정렬합니다.
# atopsar -r /var/log/atop/atop_20170511 -m -R 1 | sort -b -k 3,3 | head
trucka 3.4.113-sun7i+ #1 SMP PREEMPT Fri Oct 28 16:54:21 CEST 2016 armv7l 2017/05/11
06:40:01 1888M 416M 400M 612M 9M 164M 2047M 2047M
06:30:01 1888M 543M 423M 483M 4M 141M 2047M 2047M
03:10:01 1888M 551M 376M 480M 0M 184M 2047M 2047M
03:20:01 1888M 551M 376M 480M 0M 184M 2047M 2047M
03:30:01 1888M 551M 376M 480M 0M 184M 2047M 2047M
출력을 아름답게 하기 위해 아래 예에서는 autosar 헤더의 처음 7개 행 정렬을 생략하겠습니다.
# atopsar -r /var/log/atop/atop_20170511 -m -R 1 | awk 'NR<7{print $0;next}{print $0| "sort -k 3,3"}' | head -11
trucka 3.4.113-sun7i+ #1 SMP PREEMPT Fri Oct 28 16:54:21 CEST 2016 armv7l 2017/05/11
-------------------------- analysis date: 2017/05/11 --------------------------
00:00:01 memtotal memfree buffers cached dirty slabmem swptotal swpfree _mem_
06:40:01 1888M 416M 400M 612M 9M 164M 2047M 2047M
06:30:01 1888M 543M 423M 483M 4M 141M 2047M 2047M
03:10:01 1888M 551M 376M 480M 0M 184M 2047M 2047M
03:20:01 1888M 551M 376M 480M 0M 184M 2047M 2047M