実行した場合free -m
、top
およびhtop
、異なるメモリ使用量を取得します。システムはまた、少量のスワップを使用しています。 この質問 なぜ彼らが異なる値を報告しているのか(一部のデータは「破棄可能」と見なされ、一方のシステムに含まれ、もう一方のシステムには含まれない)を理解していますが、システムがスワップを使用しますか?これは、最新バージョン(3.4.3)を実行しているGlusterFSサーバーです。
スワップを使用していて、物理メモリから「破棄可能な」データをクリアせず、代わりにそれを使用している理由を誰かが知っていますか?
できること/すべきことはありますか、それとも少量のスワップの使用を心配しないように監視システムを変更する必要がありますか?
無料-m:
トップ:
htop:
ご協力いただきありがとうございます。
小さなスワップの使用についてはまったく心配しません。カーネルがメモリからスワップにデータをドロップすることがあります。 swappiness オプションを使用して、カーネルの動作を制御できます。
echo 60 > /proc/sys/vm/swappiness
このコントロールは、カーネルがメモリページをスワップする度合いを定義するために使用されます。値が大きいほど攻撃性が高くなり、値が小さいほどスワップの量が少なくなります。値0は、空きページとファイルバックアップページの量がゾーンの最高水準点より少なくなるまでスワップを開始しないようにカーネルに指示します。デフォルト値は60です。
仮想メモリサブシステムの詳細については、 カーネルドキュメント を参照してください。
観察しているメモリ使用量は、free
、top
、およびhtop
の間でまったく同じです。 top
ビューから計算してみましょう。
8171728-(341276+2195864+4061972) / 1024 = 1535
これは、htop
で取得するものと実質的に一致します。
また、top
値をKBからMBに変換すると、free
値も一致することがわかります。
あなたがパニックに陥っているスワップの使用法は、おそらく退屈なデーモンがディスクにスワップアウトされただけであり、それについて心配する必要はありません。