Cron アクション: echo 3 > /proc/sys/vm/drop_caches は実際には /proc/sys/vm/drop_caches に書き込みません。

Cron アクション: echo 3 > /proc/sys/vm/drop_caches は実際には /proc/sys/vm/drop_caches に書き込みません。

このスクリプトがあります。

#!/bin/bash
# If the cache is greater than 5G, echo 3 > /proc/sys/vm/drop_caches

CACHE=`grep -w "Cached" /proc/meminfo | awk '{ print $2 }'`
if [[ $CACHE -gt 5000000 ]]
then
        sh -c "echo 3 > /proc/sys/vm/drop_caches"
else
        exit 0
fi

cronを介して実行し、正常に起動することを確認しますが、実際には値を書き込まず、常に0に設定されます。したがって:

total       used       free     shared    buffers     cached
Mem:         64382      27024      37357          0        159       7125

決して変わらない。

手動で実行するとうまく機能することを追加する必要があります。/etc/crontab:( 04 14 * * * root /bin/sh /opt/drop_caches.sh テスト時間のためにちょうどそこに置いた)。

ベストアンサー1

私はこれを見つけました。

電話で電話しては/bin/shいけません。私はそれを調整しました。dash[[ ]][[ ]]

[[ $CACHE -gt 5000000 ]]

代わりに、次を使用します。

[ $CACHE -gt 5000000 ]

今はよく戻っています。

おすすめ記事