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/shdash받았어요 [[ ]]. 나는 그것을 조정했다 [[ ]].

[[ $CACHE -gt 5000000 ]]

대신에 다음을 사용합니다.

[ $CACHE -gt 5000000 ]

지금은 잘 돌아가고 있어요.

관련 정보