LINUX上でRAMメモリキャッシュ、バッファ、スワップ領域をクリアする方法

他のオペレーティングシステムと同様に、GNU/Linuxはメモリ管理を効率的に実装しており、それ以上のものも実装しています。 しかし、プロセスがメモリを消費していて、それをクリアしたい場合は、Linuxはramキャッシュをフラッシュまたはクリアする方法を提供します。

LinuxでRAMキャッシュとスワップをクリアする

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

すべてのLinuxシステムには、プロセスやサービスを中断せずにキャッシュをクリアするための三つのオプションがあります。

1. ページキャッシュのみをクリアします。p>

# sync; echo 1 > /proc/sys/vm/drop_caches

2. 明確なdentriesおよびinodes。p>

# sync; echo 2 > /proc/sys/vm/drop_caches

3. ページキャッシュ、dentriesおよびinodeをクリアします。

# sync; echo 3 > /proc/sys/vm/drop_caches 

上記のコマンドの説明。

syncはファイルシステムバッファーをフラッシュします。 で区切られたコマンド";”順次実行します。 シェルは、シーケンス内の次のコマンドを実行する前に、各コマンドが終了するのを待ちます。 カーネルのドキュメントで述べたように、drop_cacheへの書き込みは、アプリケーション/サービスを強制終了することなくキャッシュをきれいにします。echoコマンドは、fileへの書き込みの仕事をしています。ディスクキャッシュをクリアする必要がある場合、最初のコマンドはエンタープライズおよび本番環境で最も安全です。"...echo 1 > ….”はページキャッシュ PageCache、dentries、およびinodeをクリアするため、何をしているのかがわかるまで、本番環境では"...echo 3 >”の上に3番目のオプションを使用することはお勧

Linuxカーネルで使用される可能性のあるLinuxでバッファとキャッシュを解放することは良い考えですか?

さまざまな設定を適用して確認したい場合、実際にI/O-extensive benchmarkに特別に実装されている場合は、バッファキャッシュをクリアする必要があります。 上記のように、システムを再起動せずにキャッシュを削除することができます。

Linuxは、ディスクを調べる前にディスクキャッシュを調べるように設計されています。 キャッシュ内のリソースが見つかった場合、要求はディスクに到達しません。 キャッシュをきれいにすると、OSがディスク上のリソースを探すので、ディスクキャッシュはあまり有用ではありません。

さらに、キャッシュがクリーンアップされ、OSが必要とするすべてのリソースがディスクキャッシュに再びロードされる間、システムが数秒間遅くな

今、私たちはcronスケジューラタスクを介して午前2時に毎日RAMキャッシュを自動クリアするシェルスクリプトを作成します。 シェルスクリプトを作成するclearcache.sh そして、次の行を追加します。p>

#!/bin/bash# Note, we are using "echo 3", but it is not recommended in production instead use "echo 1"echo "echo 3 > /proc/sys/vm/drop_caches"

実行権限を設定します。clearcache.sh ファイル。

# chmod 755 clearcache.sh

ramキャッシュをクリアする必要があるときはいつでもスクリプトを呼び出すことができます。

毎日午前2時にRAMキャッシュをクリアするようにcronを設定します。 編集のためにcrontabを開きます。以下の行を追加し、保存して終了して毎日午前2時に実行します。

0 2 * * * /path/to/clearcache.sh

ジョブをcronする方法の詳細については、11Cron Scheduling Jobsに関する記事を確認してください。

実稼働サーバー上のRAMキャッシュを自動クリアすることをお勧めしますか?

いいえ! そうではありません。 毎日午前2時にramキャッシュをクリアするようにスクリプトをスケジュールした場合の状況を考えてください。 毎日午前2時にスクリプトが実行され、RAMキャッシュがフラッシュされます。 ある日、何らかの理由で、予想以上のユーザーがあなたのウェブサイト上でオンラインであり、あなたのサーバーからリソースを求めている可能性があります。

同時にスケジュールされたスクリプトを実行し、キャッシュ内のすべてをクリアします。 これで、すべてのユーザーがディスクからデータを取得しています。 これにより、サーバーがクラッシュし、データベースが破損します。 必要な場合にのみ明確なramキャッシュ、およびあなたの足のステップを知られているので、他には、貨物カルトシステム管理者です。

Linuxでスワップ領域をクリアするには?

スワップ領域をクリアしたい場合は、以下のコマンドを実行することができます。また、関連するすべてのリスクを理解した後、上記のcronスクリプトに上記のコマンドを追加することもできます。

# swapoff -a && swapon -a

また、上記のコ

ここで、上記の両方のコマンドを一つのコマンドに組み合わせて、RAMキャッシュとスワップスペースをクリアする適切なスクリプトを作成します。

# echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'OR$ su -c "echo 3 >'/proc/sys/vm/drop_caches' && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'" root

上記の両方のコマンドをテストした後、スクリプトを実行する前と後にコマンド”free-h”を実行し、キャッシュをチェックします。/p>

RAMキャッシュとスワップスペースをクリア

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です