web-dev-qa-db-ja.com

95%+をスワップしますが、大量のRAMを解放します

CentOS 5.8をcpanelで実行しています。最近、スワップがいっぱいであるというレポートを受け取っていますが、使用する空きメモリがたくさんあります。

top - 10:33:43 up 133 days, 17:00,  1 user,  load average: 0.05, 0.03, 0.05  
Tasks: 170 total,   1 running, 169 sleeping,   0 stopped,   0 zombie  
Cpu(s):  2.1%us,  0.5%sy,  0.0%ni, 97.2%id,  0.0%wa,  0.0%hi,  0.2%si,  0.0%st  
Mem:  24726100k total,  8255368k used, 16470732k free,   599560k buffers  
Swap:  1046520k total,   984740k used,    61780k free,  3641828k cached  

どうすればこれを解決できますか?
スワップの代わりに未使用のRAMメモリを使用する必要があります。または、スワップを増やす必要があります(それを行うにはどうすればよいですか?)。

ありがとう

4
Paolo_NL_FR

奇妙なことに、カーネルは使用されていないページを積極的にスワップアウトしてディスクキャッシュを増やしますが、ほとんどのメモリが実際にキャッシュに使用されるまでは、通常はそうしません。

ここで2つの可能性を考えることができます。

  1. あなたが提供したtop出力は、大容量のメモリを使用するプロセスが終了し、未使用のRAMが大量に残ったときに取得されました。 (メモリとスワップの使用に関する)まともなsar出力が長期間に渡ると、これが確認または否定されます。
  2. swappinessつまみwaaaayを上に向けたので、カーネルは指示に従って陽気にすべてをスワップし、すべてをスワップアウトして手に入れることができます。再確認/proc/sys/vm/swappiness(デフォルトは60)、それよりも高い場合は巻き戻します(必要に応じてさらに低く設定することもできますが、マシンがボールのように機能しなくなった場合でも、私が非難しないでください。任意のディスクキャッシュ)。

また、マシンにたくさんのページがスワップアウトされていることを心配する必要はありません。マシンにより多くのスワップを与え、それを実行させるだけです。カーネルメモリマネージャーがメモリ使用量を最適化する点で、あなたより賢いことがほぼ保証されています。

5
womble

解決する問題がありますか?パフォーマンスが低下していますか?たとえば、「メモリ使用量の最適化」を確認してくださいAT https://help.ubuntu.com/community/SwapFaq#Why_do_I_need_swap.3F 使用されているスワップ領域の多くは、実際に問題があることを意味します。

2
arjarj

スワップ使用率が高いことが問題の指標かどうかはわかりません。 dstatまたはvmstatを確認し、スワップ領域にアクティビティがあるかどうかを確認します。ある顧客のサーバーで同様の状況を見たことがあります。スワップはほぼ満杯ですが、まったく使用されていません(スワップのI/Oはありません)。私の場合は全く問題ありませんでした!

そして

swapoff

に続く

swapon

十分な空きRAMがある場合は、スワップが空になります。

2
Valentin