このスクリプトがあります。
#!/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 ]
今はよく戻っています。