KSysGuard がメモリ使用量を誤って報告する

KSysGuard がメモリ使用量を誤って報告する

最近、ノートパソコンの動作が少し遅くなり、ディスク ライトが頻繁に点滅していることに何度か気づきました。これは SSD と 12GB RAM を搭載した i7 なので、ブラウジングするだけならそれほど遅くなるとは思いません。

前回は、それが気になったので、システム モニター (KSysGuard) をちょっと覗いてみました。すると、2 GB のスワップ パーティションが 100% 使用されているのに、物理メモリは 11.6 のうち 4.8 GB しか使用されていませんでした (グラフの到達点)。そこで、スワップをオフにして再びオンにして ( swapoff -aswapon -a)、スワップを空にしようと考えましたが、RAM 不足のため swapoff は失敗しました。

KSysGuard によると、約 7GB の空き容量があるはずなので、これは私を困惑させました。そこで、top が何と言っているか見てみようと思いました。top は、約 150MB の空き RAM と 2048/2048MB のスワップ使用を示しました。少し遅くなるのも当然です。

KSysGuard がメモリ使用量をそれほど過小報告するのはなぜですか? また、嘘をつくのを防ぐにはどうすればよいですか?

答え1

コメントに従って、次のようにしてスワップ ファイルを 2GiB から 6GiB に増やしました。

sudo swapoff -a
sudo rm /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=6144
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

上記のコマンドはそれぞれ、ページを物理メモリに戻すことでスワップをオフにし、スワップ ファイルを削除し、swapfile という新しい 6GiB ファイルを作成し、権限を root のみに設定し、ファイルをスワップ用に構成し、最後に新しいファイルでスワップをオンに戻します。

次に、vm.swappiness=70最後から 2 番目のセクションの最後に、/etc/sysctl.confページ ファイルへのスワップを少し積極的に行うように (物理メモリをいくらか節約) を追加しました。

しかし、KSysGuard が使用中の RAM の量について嘘をついているように見える理由を実際に答えると、デフォルトの「メモリとスワップ履歴」チャートには実際には「アプリケーション メモリ」センサーからのデータしか表示されないからです。この問題を解決するために、KSysGuard にメモリというタブを追加し、物理メモリ用とスワップ用の 2 つのグラフを含めました。物理メモリ グラフには、使用メモリ、空きメモリ、バッファ メモリ、キャッシュ メモリのセンサーが設定されています。実際に必要なのは使用メモリとキャッシュ メモリだけですが、実際に使用されたメモリの量を示すのは使用メモリ メトリックです。

答え2

コメントから...

注意: 未使用の RAM はファイルおよびディスク バッファーに使用されることに注意してください。

実際の問題は、2G のスワップ領域が小さすぎて、ディスクがスラッシング状態になっていることです。

スワップを少なくとも 6G に増やし、vm.swappiness をデフォルトの 60 から 80 に変更します。

vm.swappiness のさまざまな設定をテストするには、 を使用しますsudo sysctl vm.swappiness=80。vm.swappiness の値がデフォルトの 60 より大きい場合、スワップがより多く使用されます。60 未満の値の場合、RAM がより多く使用されます。

永続的にするには、最後に編集し/etc/sysctl.confて追加し、再起動します。vm.swappiness=80

関連情報