Linux: 디스크 캐시 등에 사용되는 RAM 줄이기

Linux: 디스크 캐시 등에 사용되는 RAM 줄이기

가상 서버가 있고 공급자가 리소스 사용량 기준으로 비용을 청구합니다. 최대 RAM에 제한을 설정할 수 있지만 최대 RAM이 아닌 실제로 사용한 RAM에 대해 요금이 부과됩니다(가격은 실제 사용량을 기준으로 5분마다 계산됩니다).

일반적으로 모든 RAM을 사용하는 것은 괜찮지만 "사용하지 않는 RAM은 RAM 낭비입니다"라는 Linux 정책은 이러한 종류의 계산에는 적합하지 않습니다. 왜냐하면 머신은 결국 사용 가능한 모든 RAM을 사용하게 되고 대부분이 디스크 캐시로만 사용되기 때문입니다. 아직 그 대가를 지불해야 해요.

나는 RAM에 대한 최대 수요를 수용하기 위해 공급자의 제한을 조금 더 높게 설정하고 싶습니다. 캐싱 등에 사용되는 메모리 양을 어떻게든 제한할 수 있나요? 3GB를 예약하고 내 응용 프로그램 + 시스템 서비스에 일반적으로 1GB가 필요하지만 실제로 필요한 경우 내 응용 프로그램은 2GB의 RAM을 추가로 사용할 수 있지만 유휴 상태에서는 캐시를 제한하여 최대 500MB만 사용하려고 한다고 가정해 보겠습니다. 여유 RAM이 있으므로 항상 3GB에 대한 비용을 지불할 필요가 없습니다.

답변1

연결된 답변리눅스 시스템에서 버퍼를 비우고 캐시하는 방법캐시(pagecache, dentries 및 inode)를 해제하는 방법을 보여줍니다. cron에서 이 해제 작업을 반복적으로 수행해야 할 수도 있습니다. OpenVZ의 메모리 관리가 복잡해 보이기 때문에(또는 충분히 문서화되지 않았을 수도 있으므로) OpenVZ 컨테이너에서 원하는 방식으로 작동할지는 모르겠습니다. 나는 OpenVZ를 비판하려는 것이 아닙니다. 이는 훌륭한 가상화 솔루션이며 많은 시스템을 물리적 서버에 집어넣을 수 있습니다.

시원한,리눅스 ftools파일당 사용되는 캐시 페이지 수를 확인하는 데 도움이 됩니다.

다음을 실험해 볼 수도 있습니다.교환성, 적극적인 교환을 위해 100으로 설정합니다.

관련 정보