dmesg
이 스크립트를 백그라운드에서 실행하면 일반적으로 600초마다 인쇄되는데, 디스플레이가 왜 이렇게 겹쳐져 있는 것처럼 보이는지 모르겠습니다 . 내 시스템은 배포 빌드가 아닌 사용자 정의 빌드입니다. 파일 시스템은 busybox
. 이 문제를 해결하는 방법을 알 수 있을까요?
echo 1 > /proc/sys/vm/drop_caches &
비교 테스트 결과 예방 sleep 600
효과가 없는 것으로 나타났습니다 . 차단하면 sleep 600
적용됩니다. 왜?
autoCacheFree.sh:
#!/bin/sh
drop_caches() {
echo "Drop caches."
sync
echo 1 > /proc/sys/vm/drop_caches &
return 0
}
while true; do
sleep 600
drop_caches
done
정보 dmesg
:
...
[ 1405.880208] autoCacheFree.s (19284): drop_caches: 1
[ 1405.895675] autoCacheFree.s (19286): drop_caches: 1
[ 1405.911123] autoCacheFree.s (19288): drop_caches: 1
[ 1405.926552] autoCacheFree.s (19290): drop_caches: 1
[ 1405.941609] autoCacheFree.s (19292): drop_caches: 1
[ 1405.957013] autoCacheFree.s (19294): drop_caches: 1
[ 1405.972305] autoCacheFree.s (19296): drop_caches: 1
[ 1405.987799] autoCacheFree.s (19298): drop_caches: 1
[ 1406.003028] autoCacheFree.s (19300): drop_caches: 1
[ 1406.018418] autoCacheFree.s (19302): drop_caches: 1
[ 1406.033637] autoCacheFree.s (19304): drop_caches: 1
[ 1406.049015] autoCacheFree.s (19306): drop_caches: 1
[ 1406.064032] autoCacheFree.s (19308): drop_caches: 1
[ 1406.079359] autoCacheFree.s (19310): drop_caches: 1
[ 1406.094496] autoCacheFree.s (19312): drop_caches: 1
[ 1406.110246] autoCacheFree.s (19314): drop_caches: 1
[ 1406.125805] autoCacheFree.s (19316): drop_caches: 1
[ 1406.141808] autoCacheFree.s (19318): drop_caches: 1
[ 1406.157118] autoCacheFree.s (19320): drop_caches: 1
[ 1406.172632] autoCacheFree.s (19322): drop_caches: 1
[ 1406.188490] autoCacheFree.s (19329): drop_caches: 1
[ 1406.204322] autoCacheFree.s (19331): drop_caches: 1
[ 1406.220455] autoCacheFree.s (19333): drop_caches: 1