RAMに十分な空き容量がありますが、スワップを使用するのはなぜですか?

RAMに十分な空き容量がありますが、スワップを使用するのはなぜですか?

使用交換RAMの代わりにスペースが大丈夫です。大幅に遅いコンピュータ。

それでは、十分なRAMが必要なときにLinuxシステム(Arch)がスワップを使用するのはなぜですか?

下の私のconky出力を確認してください。

i686|稼働時間:12時間22分36秒|メモリ:144MiB/1.23GiB|スワップ:144MiB/502MiB|CPU:12%|…

また、これが私が経験している速度とシステム応答の問題の原因かもしれませんか?

出力free -m

$ free -m
             total       used       free     shared    buffers     cached
Mem:          1257       1004        252          0         51        778
-/+ buffers/cache:        174       1082
Swap:          502        144        357

ベストアンサー1

この動作は、次の値を設定することで設定できます。

/proc/sys/vm/swappiness

デフォルトは60です。 0に設定すると、RAMがまだ残っているときにスワップを使用しないことを意味し、100はできるだけ早くメモリをスワップアウトすることを意味します。

値を一時的に変更するには(再起動時に失われます):

sudo sysctl vm.swappiness=10

値を永久に変更するには、ファイルを編集します。

/etc/sysctl.conf

ルート(たとえばsudoedit /etc/sysctl.conf)で次の行を変更または追加します(存在しない場合)。

vm.swappiness

希望の値(vm.swappiness=10)に設定します。ファイルが存在しない場合(たとえば、Arch Linux)、置換が/etc/sysctl.d/99-sysctl.conf試みられます。

利用可能なメモリに交換するのが良いのか悪いのかという議論がありましたが、Ubuntuヘルプは、デスクトップシステムに10の値を提案します。。また、見ることができますこのチュートリアルはCentOS Digital Oceanのためのものです。

おすすめ記事