プロが教える店舗&オフィスのセキュリティ対策術

あるプログラムを動かす為に、既存環境であとどのくらいメモリが使用できるかを調査しています。
そこでpsとfree(top)で調べたのですが、
ps alx でのRSSの合計値とfreeでのused が合いません。
多少ならいいのですが、psのRSSはfreeの半分くらいにしかなりません。
どうもfreeで表示されるメモリ使用量には何か含まれているような気がするのですが...。
ps alxの合計値を空きメモリ容量としていいのでしょうか?

Redhat7.2
ps、freeはprocps version 2.0.7 です。

A 回答 (2件)

RedHat7.3です。


ps -axl、free -t 、top(ダイナミックにメモリーや、CPUのユーセージをみることができますが。)

freeコマンドでみるのが正しいのではと思います。
freeコマンドで表示される「空きメモリ(free)」値にはハードディスクのバッファキャッシュに利用される「buffer」のメモリ量が含まれていません。実際の空きメモリ容量を知るには,「buffer」と「free」値を加える必要があります。

この回答への補足

すみません、 Linuxは空きメモリをファイルキャッシュとして使うんですね。
せっかく説明されているのに...寝ぼけてました。m(_ _)m
ありがとうございました。

補足日時:2002/12/11 12:18
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。

>実際の空きメモリ容量を知るには,「buffer」と「free」値を加える必要があります。
>
空きメモリ容量となるとそうなるんですね。
実際のプログラムの容量が物理空きメモリより大きかったので、動かないのではと心配していました。

ただ、かなりメモリを積んでいるサーバを見ても、freeだと物理空きメモリが少ないのがちょっと気になってます。
psとfreeでは300MBくらい差があるのです。
同じような構成でメモリが少ないサーバは20MBくらいの差です。(物理メモリの空き容量は前サーバと変わらない)
カーネルやドライバでそんなに変わるかな~とちょっと疑問です。

ところで、#1の補足にも記載しましたが、psで表示されないメモリを使用している一覧を表示する方法がありましたら
教えて頂きたいです。
よろしくお願いいたします。

お礼日時:2002/12/05 08:55

psはプロセスの状態を見るコマンドなので、その時に動いているプロセスのメモリの使用状況しかわからないと思います。


多分、カーネルそのものとか、ドライバそのものが使用するメモリとかは含まれないでしょう。(未確認)

freeはシステムの空きメモリを調べるコマンドなので
こちらが正しい値と考えるべきでしょう。

この回答への補足

回答ありがとうございました。

>多分、カーネルそのものとか、ドライバそのものが使用するメモリとかは含まれないでしょう。
>
そういうことなんですね。


そのカーネルやドライバの個別メモリ使用量を調べる方法はあるのでしょうか?

補足日時:2002/12/05 08:43
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!