Linux がキャッシュ バフ/キャッシュをクリアする

free -h を使用してメモリ状況をチェックし、buff/cache キャッシュが多くを占めていることを確認します。

私の巣箱が動かないから

理由:

buff/cache は、システムの読み取りおよび書き込みによって発生するファイル キャッシュであり、時間内に解放されません。

解決策: キャッシュをクリアする

# 这个drop_caches文件可以设置的值分别为1、2、3\
echo 1 > /proc/sys/vm/drop_caches  # 表示清除pagecache\
echo 2 > /proc/sys/vm/drop_caches  # 表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。
echo 3 > /proc/sys/vm/drop_caches  # 表示清除pagecache和slab分配器中的缓存对象。

これら 3 つのコマンドを実行するだけです

先進的なアプローチ

ここで、定期的にキャッシュを自動的にクリアするスクリプトを記述し、新しいスクリプトを作成できます。

cleanBuffCache.sh をタッチする

#!/bin/bash
echo "开始清理缓存"
# 写入硬盘,防止数据丢失
sync;sync;sync; 
# 延迟10S
sleep 10
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
echo "清理缓存结束"

定義したスクリプトに実行権限を与える

chmod 777 cleanBuffCache.sh

テストしてスクリプトを実行してください

./cleanBuffCache.sh

次に、コマンドを実行してファイルを開き、スケジュールされたタスクを追加します

crontab -e

スケジュールされたタスクの実行時間と、開いているファイルへの実行ファイルのパスを追加します。

* 0 * * * ./tools/clean/cleanBuffCache.sh

追加が完了したら、保存して終了します

正常に追加されたことを確認するには、次のコマンドを実行して、正常に追加されたかどうかを確認します。

crontab -l

おすすめ

転載: blog.csdn.net/qq_50954361/article/details/129711848