
Linux(CentOS)でサーバのメモリ状態を確認するために
以下のコマンドを実行しました。
・vmstat
・free
・top
【vmstat】
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 140 29812 137284 242088 0 0 0 3 2 0 1 0 96 3 0
【free】
total used free shared buffers cached
Mem: 515312 485500 29812 0 137284 242088
-/+ buffers/cache: 106128 409184
Swap: 1052216 140 1052076
【top】
Mem: 515312k total, 485500k used, 29812k free, 137284k buffers
Swap: 1052216k total, 140k used, 1052076k free, 242088k cached
各コマンドの表示結果の関連性を教えてください。
1.vmstatコマンドでは「used」項目が表示されないため
メモリの使用量が分からない?
2.「used」項目と「free」項目を足し合わせると、実メモリサイズ(total)と一致する。
「buff(ers)」項目と「cashe(d)」項目は、実メモリの情報?仮想メモリの情報?
3.「buff(ers)」項目と「cashe(d)」とは?また違いは?
#freeコマンドでは、「cashed」項目は「Mem(実メモリ)」列に表示されているが
#topコマンドでは、「Swap(仮想メモリ)」列に表示されている。
4.「-/+ buffers/cache:」列の意味は?
「used」項目と「free」項目を足し合わせると、実メモリサイズ(total)と一致する。
#「Mem」項目の「buffers」項目と「cashed」との違いは?
ご教示お願いいたします。
<環境>
CentOS(5.5)
カーネルバージョン:2.6.18-194.11.3.el5
実メモリ:512MB
スワップ領域:1024MB
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 140 29812 137260 242080 0 0 0 3 2 0 1 0 96 3 0
top - 17:00:00 up 125 days, 16:04, 1 user, load average: 0.05, 0.05, 0.02
Tasks: 107 total, 1 running, 106 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2%us, 0.2%sy, 0.4%ni, 96.2%id, 3.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 515312k total, 485500k used, 29812k free, 137260k buffers
Swap: 1052216k total, 140k used, 1052076k free, 242080k cached
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
普通に調べればイロイロ出てくるのに
何も調べてないんですか?
って、こういう回答者が多いなぁ~
なんて思ってたけど
ほんまに調べてないみたいな質問ですね。
関連性とはまた難しい表現で
それぞれのコマンドは一貫性を持つ為のものではなく
用途が違います。
しかしながらどのコマンドも同じCPUやメモリー資源を使ってるので
ほぼ同じ値を出してると言う事ですね。
vmstatの場合
おおよそのカーネル単位(システム単位)の資源使用率を監視する為のものです。
どのプロセスがとかなくて、現在走ってるプロセス数・メモリ使用率・CPU使用率を表示してます。
> vmstatコマンドでは「used」項目が表示されないためメモリの使用量が分からない?
(1)実装メモリー量からフリー領域 バッファ領域 キャッシュ領域を差し引いた値が
有効なメモリー使用量です。
515312 - (29812 + 137284 + 242088) = 106128
※ ちなみに vmstat から「used」項目なるものを割り出したい場合は
実装メモリからフリー領域を差し引けば出てきます。
515312 - 29812 = 485500
freeの場合
メモリの分布を実測値で表示してます。
> 「buff(ers)」項目と「cashe(d)」項目は、実メモリの情報?仮想メモリの情報?
(2)実行プロセス数にも依存しますがプロセスは起動すると余分にメモリ空間を占有します。
それらの余分な領域(空の占有された領域)がバッファ領域です。
キャッシュ領域は今、まさに実行しているプロセスがデータを展開している領域です。
> 「buff(ers)」項目と「cashe(d)」とは?また違いは?
(3)この質問ではどこのバッファ領域とキャッシュ領域を聞いているのかわかりましぇ~ん
もうちょい聞きたい内容整理して下さいな。
> 「-/+ buffers/cache:」列の意味は?
(4)この「-/+」ってfreeコマンドにしかないのでfreeコマンドの結果聞いてるって意味でいいですよね?
えっと、上に書いてる通り余分なメモリー領域の話と実メモリー領域の話しましたよね
以下の通りそのまま平たく考えて下さいな
B. バッファ領域とキャッシュ領域とフリー領域で占有されている総量
29812 + 137284 + 242088 = 409184
A. 占有された全ての領域を差し引いて残ってるメモリー空間
515312 - 409184 = 106128
「A/B」=「-/+」の表示です。
少し荒々と説明しましたが表示内容は理解できました?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
freeとpsでメモリ使用量が違う?
-
topコマンドで表示されるVIRT、...
-
ps aux ps auxw psauxwwの違い
-
ラズパイで『’test.service’をs...
-
pingは正常なのにtracerouteで...
-
TOPコマンドで表示するCPU使用...
-
スクリプトのエラー「unexpecte...
-
エクセルの表にヘンな枠が・・・
-
Linux環境 grepで改行コード(CR...
-
最初の一度しか実行されないロ...
-
net use /d の強制実行
-
Dirコマンドでフォルダ内ファイ...
-
UNIX コマンドにおける # や円...
-
Linux のシェルスクリプトの強...
-
テキストファイルから最終行の抽出
-
コマンドプロンプトにおけるコ...
-
SONYの音楽ソフト「x-アプリ」...
-
空きIPアドレスを探す方法
-
SPI非言語の問題 解説お願いします
-
ファイル名についている「-」と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
topコマンドで表示されるVIRT、...
-
ps aux ps auxw psauxwwの違い
-
CPU 使用率について(ps,top,sar)
-
freeとpsでメモリ使用量が違う?
-
Linuxのメモリの関して
-
linuxサーバーに詳しい方、教え...
-
qmailのパフォーマンス向上方法...
-
実行中のプロセス数をカウント...
-
cpuやメモリのスペックを調べる...
-
FreeBSDでのCPU占有率とメモリ...
-
コマンドが持つmanのセクション...
-
manの検索ディレクトリ
-
Windows10をリフレッシュする方法
-
サーバーのメモリーの状態
-
DNS(BIND)を起動できない
-
postaliasとpostmapコマンドに...
-
freeコマンドのfree,swapについて
-
psコマンドの意味がわからない。
-
AIXでシステム内の全プロセスメ...
-
クーロンのプロセスサイズが知...
おすすめ情報