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
ファイルサイズまたはファイルオフセット(バイト)で開いているすべてのファイルを提供します。