GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでメモリキャッシュをクリアする方法

キャッシュされたオブジェクトが巨大なRAMを使用しているために、システムのメモリが不足することがあります。その場合、システムの物理メモリを増やすか、スワップスペースを追加する必要があります。 /proc/sys/vm/drop_cachesに数値を追加して、システムのRAMメモリキャッシュをクリアするようにカーネルに指示することもできます。 ファイル。

Linuxシステムでメモリキャッシュをクリアすることは安全ですが、お勧めしません。 Linuxシステムでメモリキャッシュをクリアすると、メモリからのファイルの読み取りが永続ディスクよりもはるかに高速になるため、システムのパフォーマンスが低下します。キャッシュされたオブジェクトをメモリから破棄するため、ドロップされたオブジェクトを再作成するためにかなりの量のI/OとCPUが必要になる場合があります。このチュートリアルは、コマンドラインを介してLinux/Unixシステムのメモリキャッシュをクリアするのに役立ちます。

Linuxでメモリキャッシュをクリアする方法

Linuxでメモリキャッシュをクリアするために利用できる3つのオプションがあります。以下のオプションのいずれかを選択して、要件に応じてLinuxシステムのキャッシュメモリをフラッシュします。

  • キャッシュメモリ内のPageCache、dentries、およびiノードをクリアします。つまり、すべてのメモリキャッシュをクリアします。
    sync; echo 3 | sudo tee /proc/sys/vm/drop_caches 
    
  • キャッシュメモリ内のデントとiノードのみをクリアします
    sync; echo 2 | sudo tee /proc/sys/vm/drop_caches 
    
  • キャッシュメモリ内のページキャッシュのみをクリアする
    sync; echo 1 | sudo tee /proc/sys/vm/drop_caches 
    

ここで最初のコマンドsync すべてのメモリ内キャッシュファイルを永続ストレージに同期するために使用されます。次のコマンドは「;」で区切られます。最初のコマンドが完了すると、次のコマンドがトリガーされてキャッシュメモリがクリアされます。

Crontabを使用してメモリキャッシュのクリアをスケジュールする

コーンジョブをスケジュールして、定期的にキャッシュをクリアすることもできます。システムcrontabで次のスケジュールを設定して、定期的にキャッシュメモリを自動的にフラッシュします。

ターミナルを開き、「crontab -e」コマンドを実行して、crontabを編集します。

crontab -e 

以下のエントリをファイルに追加します:

0 10 * *  * sync; echo 3 | sudo tee /proc/sys/vm/drop_caches

上記のcronは1時間ごとに実行され、システムのメモリキャッシュをフラッシュします。

本番サーバーでは、clearcacheコマンドをスケジュールすることはお勧めしません。データの破損やデータの損失につながる可能性があります。したがって、本番環境で上記のコマンドを実行する前に注意してください。

Linuxでキャッシュメモリを見つける方法

無料を使用する Linuxシステムによるキャッシュメモリの使用を確認するコマンド。 freeコマンドの出力は次のようになります

free -m 
Output 
             total       used       free     shared    buffers     cached
Mem:         16050      15908        142          0        120      12953
-/+ buffers/cache:        834      15216
Swap:            0          0          0

最後の列は、Linuxシステムのキャッシュメモリ(12953 MB)を示しています。 -m オプションは、出力MBを表示するために使用されます。


Linux
  1. LinuxでBashの履歴をクリアする方法

  2. LinuxでコマンドラインからWebブラウザのキャッシュをクリアする方法

  3. Linux でバッファ/ページキャッシュ (ディスクキャッシュ) をクリアする方法

  1. Linuxでメモリバッファとキャッシュを削除する方法

  2. Firefoxでキャッシュをクリアするにはどうすればよいですか?

  3. Linuxでユーザーのメモリ使用量を見つける方法

  1. Redisキャッシュをクリアする方法

  2. Linuxでメモリ使用量を確認する方法

  3. Aptキャッシュをクリアする方法