web-dev-qa-db-ja.com

ほとんどのメモリを使用しているプロセスを確認する方法

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%しか表示されていません。

メモリを使用しているプロセスを見つけるにはどうすればよいですか?

以下は、上位のコマンド結果です。

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
40
sandeep

これは、最もメモリを使用している上位10プロセスを示します。

ps aux --sort=-%mem | awk 'NR<=10{print $0}'

topの使用:topを開いたときにmを押すと、メモリ使用量に基づいて処理が短縮されます。

しかし、これはあなたの問題を解決しません、Linuxではすべてがファイルかプロセスのどちらかです。開いたファイルもメモリを消費します。これは役に立ちません。

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

57
Hackaholic

ラムは実際には使用されていません。 Linuxはデフォルトでディスク上のものをキャッシュするだけで、キャッシュの内容をRAMの「使用済み」セクションに配置します。

そのRAMを実際に使用するアプリケーションをロードすると、そのRAMが使用されます。

http://www.linuxatemyram.com/ を参照してください

psおよびsortをパイプして、メモリを最も多く使用するプロセスを取得できます。また、表示したい他のプロセスの詳細を指定することもできます。

ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -n -r | less

PS:上記では、メモリ列が最初に "sort -k 1 -n -r"であると想定しています

6
Hynk

コマンドslabtopを使用して、カーネルで使用されているスラブオブジェクトを表示できます。
また、/ proc/meminfoの出力を確認できます

出力でこれらの2行を探します

Slab:              68136 kB
SReclaimable:      21208 kB 

上記の例では、カーネルによって68MBのスラブキャッシュが使用されており、21MBを再利用できます。再利用するには、ここで説明されている手法を使用できます https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/Performance_Tuning_Guide/#s-memory-tunables

echo 2 > /proc/sys/vm/drop_caches  
3
Dmitry Zayats

インタラクティブな分析では、 htop を使用して、ファンクションキー F6 ソート順を選択します。 PERCENT_CPU(パーセント単位のメモリ使用量)、M_RESIDENT(常駐メモリサイズ、使用される実メモリ)、M_SIZE(仮想メモリサイズ)またはM_SHARE(共有メモリのサイズ)。 最初の2つは関連する番号です

緑の線は糸です。 (大文字)KHを押すと、それらが非表示になります。

1
Marc Wäckerlin