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


33

freeProdサーバーの1つをチェックインすると、メモリの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


迅速な対応のおかげで、すべての開いているファイルとメモリを食べているファイルを確認する方法はありますか。

1
並べ替えるようにしてくださいトップ出力を-実行し、Shiftキーを押しながら+ M
Eenoku

回答:


50

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

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

topの使用:topを開くmと、メモリ使用量に基づいてプロセスが短縮されます。

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

lsof 開いているすべてのファイルに、ファイルのサイズまたはバイト単位のファイルオフセットが表示されます。


5
headこのawkスクリプトの代わりに使用することができます-同じ出力が得られ、多くの奇妙な文字を書いて保存できます。
発泡スチロールフライ

9

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

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

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


Linuxについてだれが言いましたか?
ティモシープーリアム

OPは、実行中の"I386-linuxの-godu"プロセスがある
ジャン-マイケルCelerier

6

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

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

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


3

コマンド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  

1

対話型分析の場合、を使用しhtop、ファンクションキーF6を押して並べ替え順序を選択できます。たとえば、PERCENT_CPU(メモリ使用率(%))、M_RESIDENT(常駐メモリサイズ、使用される実メモリ)、M_SIZE(仮想メモリサイズ)またはM_SHARE(サイズ共有メモリ)。最初の2つは関連する番号です。

緑の線は糸です。ヒット(大文字)KおよびHそれらを非表示にします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.