Linuxサーバーが異常に動作する

Linuxサーバーが異常に動作する

次のスクリプトを実行しました。

ps --no-headers -eo user,rss | awk '{arr[$1]+=$2}; END {for (i in arr) {print i,arr[i]/1024/1024}}' | sort -nk2 -r

メモリ使用量は約12GBで表示されますが、topコマンドを実行すると合計メモリは66GB、使用されたメモリは63GB、空きメモリは3GBと表示されます。

上の数値はおおよその数値です。以下は、コマンドを使用して同様の数字を示す更新ですfree -m

             total       used       free     shared    buffers     cached
Mem:         64521      64087        433          0       2071      51567

-/+ buffers/cache:      10449      54072
Swap:        63999          1      63998

上記のコマンドで12 GBが使用されていると表示されますが、なぜ63 GBが使用されますか?

私のサーバーが正しく機能していません。 top コマンドによって使用可能なメモリが不足すると、プロセスが中断し始めます。

これは、66GBのRAMを搭載し、Oracle Enterprise Linux 6.3 64ビット(デフォルトではRed Hat)を実行するHPサーバーです。

どんな手がかりがありますか?

ベストアンサー1

サーバーが奇妙に動作しません。出力の解釈方法に間違いがありましたfree。バラよりhttps://serverfault.com/questions/85470/meaning-of-the-buffers-cache-line-in-the-output-of-free: "buffer" と "cached" は、メモリが "使用中" であることを指定しますが、キャッシュはすぐに削除できます。これが、「バッファ」と「キャッシュ」がアプリケーションで実際に使用可能なメモリ量に含まれる理由です。

http://thoughtsbyclayg.blogspot.com/2008/09/display-free-memory-on-linux-ubuntu.html説明する

「どのくらいのメモリが実際に利用可能か」を考えると、次のように計算したいと思います。
「使用可能」+(「バッファ」+「キャッシュ済み」)

あなたの例では、アプリケーションに使用できるメモリは54 GBです。

おすすめ記事