メモリ不足のためサーバーが数回クラッシュしました。各プロセスで使用可能なメモリ量を確認するにはどうすればよいでしょうか?

メモリ不足のためサーバーが数回クラッシュしました。各プロセスで使用可能なメモリ量を確認するにはどうすればよいでしょうか?

次のようなエラーが多数発生し、トラフィックが急増しました。

Feb 17 10:44:13 111488 kernel: [8275767.506198] Out of memory: Kill process 20577 (apache2) score 52 or sacrifice child
Feb 17 11:02:06 111488 kernel: [8276839.559141] Out of memory: Kill process 20719 (mysqld) score 75 or sacrifice child

ご覧のとおり、これは 1 つのプロセスではなく、apache2 と mysqld の両方であるため、サーバーの RAM を増やしました。これらのプロセスでこれが使用可能であることをどのように確認すればよいでしょうか?

答え1

[top]コマンドを探しています

top - 15:20:30 up  6:57,  5 users,  load average: 0.64, 0.44, 0.33
Tasks: 265 total,   1 running, 263 sleeping,   0 stopped,   1 zombie
%Cpu(s):  7.8 us,  2.4 sy,  0.0 ni, 88.9 id,  0.9 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8167848 total,  6642360 used,  1525488 free,  1026876 buffers
KiB Swap:  1998844 total,        0 used,  1998844 free,  2138148 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                                                 
 2986 enlighte  20   0  584m  42m  26m S  14.3  0.5   0:44.27 yakuake                                                                                 
 1305 root      20   0  448m  68m  39m S   5.0  0.9   3:33.98 Xorg                                                                                    
 7701 enlighte  20   0  424m  17m  10m S   4.0  0.2   0:00.12 kio_thumbnail

または[htop]コマンド、

htop 結果

ソース:バイナリタイド

答え2

システムのメモリ使用量の概要を取得するには、コマンドを使用しますfree。メモリ計算についてはプロセスごと、cf.各プロセスのメモリ使用量を表示するにはどうすればいいですか

関連情報