スワップメモリは通常、「設定して忘れる」タイプの問題です。ほとんどのエンタープライズ環境にはシステムにスワップが組み込まれており、使用可能なメモリが明らかに不足している場合、またはOOMキラー(メモリ不足)エラーが原因でサーバーがクラッシュした場合を除いて、これらのメモリキャッシュは操作されません。ただし、管理者がシステムスワップを手動でクリアする必要があるニッチな状況があります。それがあなた自身がいる状況であるならば、あなたは正しい場所に来ました。この記事は、この状況と必要な解決策についての議論です。
スワッピーな気分ですか?
場合によっては、使用可能なRAMがある場合でも、システムが高い割合のスワップメモリを使用することがあります。ここでの原因は、システムの「スワップネス」です。うん、あなたはその権利を読んだ...swappiness。用語がわかったので、それが何を意味するのかを調べる準備ができました。 Swappinessとは、システムがRAMからスワップメモリにデータを移動する量と頻度を決定するカーネルパラメータを指します。
swappiness
のデフォルト値 60です。ただし、0から100の間の任意の場所に手動で設定できます。値が小さいとスワッピングはほとんど発生しませんが、値が大きいと非常に積極的なスワッピングが発生する可能性があります。値がゼロの場合、スワッピングはまったく発生しません。したがって、スワッピングをオフにせずに可能な限り低い値に最小化する場合は、少なくとも1に設定する必要があります。
[無料ダウンロード:高度なLinuxコマンドのチートシート。 ]
システムのswappinessを変更したい場合、手順は非常に簡単です。次のコマンドを実行して、現在のswappiness設定を確認できます。
$ cat /proc/sys/vm/swappiness
次のようになります:

これで、私のシステムにswappiness
があることがわかります。 値30。値を変更するには、次を使用します。
$ sudo sysctl vm.swappiness=x
(where x is the swap value you wish to set)

設定した値を確認するには、swappiness
をキャットするだけです。 元の値を見つけるために以前に調べたファイル。簡単な日。システムのスワップ動作を制御する基本的なパラメータを理解したので、状況が発生した場合にそのメモリをクリアする方法を学習する準備が整いました。あなたの終末期の人生で初めて、物事はここで簡単になるでしょう。
システムのスワップメモリをクリアするには、単にスワップをオフにする必要があります。これにより、すべてのデータがスワップメモリからRAMに戻されます。また、この操作をサポートするためのRAMがあることを確認する必要があることも意味します。これを行う簡単な方法は、「free -m」を実行して、スワップとRAMで何が使用されているかを確認することです。電源をオフにしたら、任意の時間(30秒程度)待って操作が完了するまで待ってから、スワップの電源をオンに戻します。これにより、スワップメモリキャッシュがクリアされ、再度有効になります。必要なすべてのコマンドは次のとおりです。
Check space: # free -m
Disable swap: # swapoff -a
Wait approx 30 sec
(use free -m to see the amount of swap used/available decrease over time)
Enable swap: # swapon -a
うまくいけば、このクイックヒントが、そのような修正が必要な場合にシステムスワップメモリをクリアするのに役立つことを願っています。
スワップスペースの詳細については、こちらの基本の概要を説明した私の記事をご覧ください。
Red Hat Enterprise Linuxを試してみませんか?今すぐ無料でダウンロードしてください。