이 스크립트가 있습니다.
#!/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 ]
지금은 잘 돌아가고 있어요.