どのプロセスが最も多くのメモリを使用しているかを確認する方法

どのプロセスが最も多くのメモリを使用しているかを確認する方法

Prodサーバーの1つを確認したところ、freeメモリの70%が使用されていることがわかりました。

             total       used       free     shared    buffers     cached
Mem:     164923172  141171860   23751312          0    4555616   20648048
-/+ buffers/cache:  115968196   48954976
Swap:      8388600          0    8388600

しかし、どのプロセスがメモリを使用しているかが見つかりませんでした。このtopコマンドを試しましたが、プロセスがメモリの1.1%と5.4%のみを使用していることがわかりました。

どのプロセスがメモリを使用しているかどうかはどうすればわかりますか?

top コマンドの結果は次のとおりです。

15085 couchbas  25   0 2784m 2.4g  40m S 183.7  1.5 299597:00 beam.smp
28248 tibco     18   0  124m 100m 3440 S 20.9  0.1   2721:45 tibemsd
15334 couchbas  15   0 9114m 8.6g 3288 S  9.0  5.4  12996:28 memcached
15335 couchbas  18   0  6024  600  468 S  2.0  0.0   1704:54 sigar_port
15319 couchbas  15   0  775m 2516  944 S  0.7  0.0 269:13.41 i386-linux-godu
12167 tibco     16   0 11284 1464  784 R  0.3  0.0   0:00.04 top
12701 root      15   0  451m 427m 2140 S  0.3  0.3  18:25.02 controller
13163 root      11  -5     0    0    0 S  0.3  0.0 289:58.58 vxglm_thread

ベストアンサー1

最も多くのメモリを使用する上位10のプロセスが表示されます。

ps aux --sort=-%mem | head

有効top:オンの場合、押すとtopメモリm使用量に基づいてプロセスがソートされます。

しかし、これは問題を解決しません。 Linuxでは、すべてがファイルまたはプロセスです。したがって、開こうとしているファイルもメモリを占有します。だからこれは役に立ちません。

lsofファイルサイズまたはファイルオフセット(バイト)で開いているすべてのファイルを提供します。

おすすめ記事