top
プロセスが使用するメモリ量を表示できるps
コマンド、、、および(およびその他)がありますが、 pmap
これは合計メモリのみを表示します。
free -g
コマンド出力を使用してtotal
、used
および次を表示できます。shared
buffers
cached
total used free shared buffers cached
Mem: 126 86 39 5 1 80
-/+ buffers/cache: 4 121
Swap: 3 0 3
各プロセスのメモリ使用量を詳細に確認する方法はありますか?たとえば、次のようになります。
PID USER MEM USD SHRD BUF CAH command
23 monitoring 23kb 12kb 10kb 23kb 5kb du
上記の方法が不可能な場合、具体的なメモリ容量を確認する方法はありますか? (たとえば、キャッシュメモリを確認し、各プロセスがどのくらいのメモリを使用しているかを確認したいと思います。)
答え1
私はCentosを持っていませんが、マニュアルページは私がこの問題を調査するために使用しているLinux Mintに関連しているようです。これらの機能はIPC(プロセス間通信機能)です。
共有リソースは(ほぼ定義に従って)特定のプロセスに属しません。したがって、すべてを報告することは多くの場合、二重として計算されます。
以下を使用して、リストされている共有メモリーセグメントを確認し、ipcs
詳細を入手できます。
ipcs | while read -r _ Id _; do
[[ $Id =~ [0-9] ]] && ipcs -u -m -i $Id
done | more
これはcpid
(作成者PID)とlpid
(最後の訪問者PID)を保持しているようです。私が知る限り、私には2種類の共有メモリがあります。
(a)マイコントロールパネル(mate-panel)は、表示されているすべてのアプリケーション(mintUpdate、mate-sensors-ap、mate-screensave)と共有されます。
(b)マイディスプレイサーバー(Xorg)は、編集メニューを使用できるすべてのウィンドウ(xed、端末)と共有されます。
デバイスキャッシュも非プロセスです。ファイルを使用するプロセスが終了してから古くなっても、以前に使用されたファイルに関連付けられています。このスペースは必要に応じてすぐに削除できますが、最近使用したファイルの一部のブロックを再利用できることを望んでいます。
仮想メモリは、実際には使用されていない予約によって過度に使用されることが多いため、寿命が短くなる可能性があります。