내 Linux 상자에서 VFS 캐시가 작동하는 방식을 살펴보면 사실상 유휴 상태(크론드 및 대부분의 다른 데몬이 중지되고 인터페이스가 닫힘)에서도 사용 가능한 메모리 양이 점차 증가한다는 것을 알 수 있습니다. 이는 프로젝트가 캐시에서 제거됨을 의미합니다.
인터넷 검색을 많이 했지만 이를 제어하는 방법에 대한 참조를 찾을 수 없습니다(vm_swappiness의 부작용이 아닌 한). 새로운 메모리 할당이 필요하지 않을 때 항목이 캐시에서 제거되는 이유를 이해할 수 있는 올바른 경로를 알려주는 사람이 있습니까?
답변1
swappiness는 캐시 공간을 확보하기 위해 할당된 애플리케이션 메모리를 스왑 아웃하는지 여부에만 영향을 미칩니다. vfs_cache_Pressure는 표시되는 내용을 제어하는 sysctl입니다.
답변2
Linux는 다음과 같은 프로세스를 사용하여 페이지 캐시에서 데이터를 플러시합니다.pdflush
pdflush는 다음 매개변수에 의해 제어됩니다./proc/sys/가상 머신
#/proc/sys/vm/dirty_expire_centisecs
The hundredth of the second after which data will be considered to be expired from the page cache and will be written at the next opportunity.
#/proc/sys/vm/dirty_writeback_centisecs`
The hundredth of a second after which the pdflush wakes up to write data to disk.
#/proc/sys/vm/vfs_cache_pressure`
This will reclaim dentries and inodes which are also part of the cache.
자세한 내용은 다음 항목을 확인하세요.