スワップスペースがいっぱいですが、プロセスはスワップスペースをほとんど使用しません。

スワップスペースがいっぱいですが、プロセスはスワップスペースをほとんど使用しません。

私は約1日後(時々より早く)、すべてのスワップスペースを使い果たすDebian VMを持っています(したがって、zabbixは私を悩ませます)。swappinessに設定しましたが、0少し遅くてもまだこれを行います。

最も興味深いのは、プロセスのスワップ使用量をリストした場合(上位または基準別)スクリプト)そしてそれを合計すると、レポートで使用されている1022 MBの代わりに約55 MBしか得られませんfree

個々のプロセスの合計スワップ使用量と報告された総スワップ使用量が一致しないのはなぜですか?

オペレーティングシステム:Debian 10.11
Linux:4.19.0-18-amd64

ベストアンサー1

top交換は、非常に信頼できない推定合計/procフィールドVmSwap(リンクスクリプトで使用されるフィールド)を使用します。

実際のスワップ使用量を合理的に見積もるには、次の点を確認する必要があります/proc/…/smapssmemあなたのためにこれを行うことができます例えば

sudo smem -s swap -r|head

親取引所のユーザーが表示されます。

sudo smem -t

割り当てられたスワップ総額(として計算smaps)は、下の要約行に表示されます。

これも正確ではないかもしれませんが、より良い結果を提供します。スワップは複数回計算することができます。この場合、要約行で過度に計算され、スワップのエントリが単一のプロセスに割り当てられていないことが明らかです(例えば交換tmpfs)、この場合は低評価となります。

おすすめ記事