Quiero forzar al kernel de Linux a asignar más memoria a las aplicaciones después de que el caché comience a ocupar demasiada memoria (como se puede ver en la salida de 'free').Cómo limpiar los cachés utilizados por el kernel de Linux
me he encontrado
sudo sync; sudo sysctl -w vm.drop_caches=3; free
(para liberar tanto dentry disco cache/i-nodo y la caché de páginas) y veo que sólo la mitad de la memoria caché utilizada fue liberado - el resto se mantiene. ¿Cómo puedo saber qué ocupa el resto del caché y obligarlo a ser liberado?
El chache que queda es solo un caché que se descarta inmediatamente a medida que se necesita memoria nueva. No es beneficioso forzar la eliminación de estas regiones de caché. Las aplicaciones siempre serán primeros ciudadanos para la memoria y no tienen que luchar con la memoria caché. – ypnos
Tengo un problema con mi servidor, y creo que algo está abusando de la memoria caché hasta el punto en que las aplicaciones se relegan a páginas intercambiadas y se agitan debido a la falta de memoria. Puede ser un problema del núcleo que podría no serlo. Purgar la caché puede ser una buena forma de probarla. – Guss
su 'sysctrl' debe ser 'sysctl' – raittes