web-dev-qa-db-ja.com

ログからのピークメモリ使用量の上限

atopログを10分間隔で毎日保存しており、atop -r <path_to_log>で読み取ることができますが、このログでピークメモリ使用量を見つけるにはどうすればよいですか?

1
mrgloom

記録されたデータを分析するコマンドは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

あなたはあなたの場合、どの記憶があなたにとって重要であるかを考慮しなければなりません。
3番目の列(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

1
Daniel Andersen