drop_caches
어떤 값이 가능한지 , 이 값의 의미가 무엇인지 알고 싶습니다 .
예를 들어:
echo 3 > /proc/sys/vm/drop_caches
숫자는 무엇을 3
의미하나요? 이 숫자나 다른 숫자는 1
진짜 인가요 2
? 그렇다면 그 의미는 무엇입니까?
답변1
문서에서 직접 인용 https://www.kernel.org/doc/Documentation/sysctl/vm.txt, "linux drop_caches"에 대한 간단한 Google 검색으로 쉽게 찾을 수 있습니다.
캐시 삭제
이를 작성하면 커널이 디렉토리 및 inode와 같은 회수 가능한 슬랩 객체뿐만 아니라 깨끗한 캐시도 삭제하게 됩니다. 일단 떨어뜨리면 그들의 기억은 자유로워집니다.
페이지 캐시를 비웁니다.
에코 1 > /proc/sys/vm/drop_caches
재활용 가능한 슬래브 객체 릴리스(dentry 및 inode 포함):
에코 2 > /proc/sys/vm/drop_caches
슬래브 객체와 페이지 캐시를 해제합니다.
에코 3 > /proc/sys/vm/drop_caches
이는 비파괴적인 작업이므로 더러운 개체가 해제되지 않습니다. 이 작업으로 해제된 개체 수를 늘리기 위해 사용자는 /proc/sys/vm/drop_caches에 쓰기 전에 "동기화"를 실행할 수 있습니다. 이렇게 하면 시스템의 더티 개체 수가 최소화되고 제거 대상이 더 많이 생성됩니다.
이 파일은 다양한 커널 캐시(inode, 디렉토리 항목, 페이지 캐시 등)의 증가를 제어하는 수단이 아닙니다. 이러한 객체는 시스템의 다른 곳에서 메모리가 필요할 때 커널에 의해 자동으로 회수됩니다.
이 파일을 사용하면 성능 문제가 발생할 수 있습니다. 캐시된 개체를 삭제하기 때문에 삭제된 개체를 다시 생성하는 데 많은 I/O 및 CPU가 필요할 수 있으며, 특히 사용량이 많은 경우에는 더욱 그렇습니다. 따라서 테스트 또는 디버깅 환경 외부에서 사용하는 것은 권장되지 않습니다.
이 파일을 사용하면 커널 로그에 정보 메시지가 표시될 수 있습니다.
고양이(1234): drop_caches: 3
이는 참고용입니다. 시스템에 문제가 있다는 의미는 아닙니다. 이를 비활성화하려면 drop_caches에 4(비트 3)를 에코하십시오.