Tengo una máquina Linux bastante antigua con 2 GB de RAM, sin intercambio, y está funcionando muy bien, con el sistema utilizando cada pieza de memoria no utilizada para el almacenamiento en caché con gran efecto.
Sin embargo, cuando estoy a punto de estresar la memoria (p. Ej.,> 1950 MB asignados), se ralentiza; Sospecho que es porque no quedan buffers de disco. Sé que el asesino OOM pronto entraría en vigencia, pero generalmente no llega allí: se está volviendo tan lento que carga los brotes a 30-40, ningún proceso avanza (por lo tanto, no asigna más memoria) y Tengo que reiniciarlo.
Cuando trato de matar un solo proceso para que la máquina responda, por ejemplo, yendo a la consola (a través de Alt-F1, iniciando sesión y simplemente haciendo un "proceso incorrecto de Killall"), generalmente funciona, excepto que tengo que esperar ~ 10 minutos entre usuario / contraseña y obtener un mensaje, todo mientras haya actividad en el disco.
Una vez más, no hay intercambio, por lo que no se está intercambiando, solo se está agitando porque no le quedan buffers.
Tendría mucho más de 100 MB dedicados exclusivamente a los búferes de disco, lo que desencadenaría el asesino OOM antes (menos memoria para los programas, después de todo), pero por otro lado dejaría la máquina receptiva en todo momento.
¿Hay una manera de hacerlo? No he podido encontrar una entrada / proc / kernel o / sys / vm que haga este tipo de cosas.