使用交換RAMの代わりにスペースが大丈夫です。大幅に遅いコンピュータ。
それでは、十分なRAMが必要なときにLinuxシステム(Arch)がスワップを使用するのはなぜですか?
下の私のconky出力を確認してください。
また、これが私が経験している速度とシステム応答の問題の原因かもしれませんか?
出力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のためのものです。。
答え2
Linuxシステムの使用は正常です。一部まだ空きRAMがあってもスワッピングが可能です。 Linuxカーネルは、ほとんど使用されていないスワップメモリページに移動します(たとえば、getty
X11および他の一部の非アクティブデーモンのみが使用されている場合)。
スワップスペースの使用量が問題になる使用可能なRAMが不足している場合のみそして、カーネルは、アプリケーションの実行を維持するために、メモリページを引き続きスワップに移動し、再びRAMに移動する必要があります。この状況では、システムモニタアプリケーションは多くのディスクI / Oアクティビティを表示します。
比較のために、2人のユーザーがX11セッションを使用してログインし、両方ともGNOMEデスクトップを実行しているUbuntu 10.04システムは、〜600 MBのスワップと〜1 GBのRAM(バッファとfsキャッシュを除く)を使用しているため、スワップデータの使用量は正常に見えます。 。 。
答え3
LinuxはRAMがいっぱいになる前にスワップを開始します。これはパフォーマンスと応答性を向上させるために行われます。
時には、RAMがプログラムメモリの保存よりもディスクキャッシュに適しているため、パフォーマンスが向上します。そのため、しばらく使用していないプログラムを交換し、頻繁に使用するファイルをキャッシュに保存することをお勧めします。
メモリがいっぱいで、一部のプログラムが実行されているときよりもシステムがアイドル状態のときにページを交換し、ジョブを完了するためにより多くのRAMを要求すると、応答性が向上する可能性があります。
もちろん、スワッピングによりシステムの速度が遅くなるが、スワッピングの代替手段は、スワッピングではなく、より多くのRAMを使用するか、より少ないRAMを使用することである。
答え4
より多くのメモリが利用可能
誰もが言ったように、スワップは未使用のメモリを削除してより多くの空きメモリを解放するのに役立ちます。
冬眠
ただし、交換は次の用途にも使用できます。冬眠これは、ノートパソコンを所有している場合、または退職する前にエネルギーを節約し、コンピュータと作業をスリープ状態にしたい場合に便利です。これにより、翌日の朝を早く始めることができます。
休止状態機能を備えていることは、スワッピングのために少なくともRAMサイズを確保するための推奨事項をまだ見ることができる主な理由の1つです。これにより、システムは使用されているすべてのRAMをスワップに入れ、スリープモードに切り替えることができます。
欠点
プロセスがスワップされると、スワップが暗号化されていない限り(もちろん)終了後もスワップからデータを読み取ることができます。
休止状態で暗号交換を使用することは、どのディストリビューションでも可能ではありません。復元する前にボリュームを有効にするには、定数暗号化キー(一部の設定は起動するたびにスワップスペース暗号化キーをランダムに生成します)とinitrd / initramfsを使用する必要があります。