캐시를 플러시하면(echo 3> /proc/sys/vm/drop_caches) 파일이 손실됩니까?

캐시를 플러시하면(echo 3> /proc/sys/vm/drop_caches) 파일이 손실됩니까?

실행 후 파일이 누락된 것을 발견했습니다 sync; echo 3> /proc/sys/vm/drop_caches.

이런 경우인지는 잘 모르겠지만 파일 시스템이 NFS로 전송되기 때문에 캐시를 삭제하면 파일 캐시도 사라지는 경우가 있을 수 있습니다.

캐시 삭제를 사용하면 sync; echo 3 > /proc/sys/vm/drop_caches파일이 손실되나요?

답변1

커널이 제대로 작동한다면 파일이 손실되어서는 안 됩니다. 에서 man 5 proc:

/proc/sys/vm/drop_caches (since Linux 2.6.16)
       Writing  to  this  file  causes the kernel to drop clean caches,
       dentries, and inodes from memory, causing that memory to  become
       free ...
...
       Because writing to this file is a nondestructive  operation  and
       dirty  objects  are  not  freeable,  the user should run sync(1)
       first.

매뉴얼에 명시되어 있듯이 깨끗한 캐시만 플러시되며 무엇이든 쓰는 것은 drop_caches비파괴적인 작업입니다. 더러운 것들은 전혀 방해받지 않습니다.

관련 정보