Dedicar algo de memoria a un programa específico

Dedicar algo de memoria a un programa específico

¿Cómo puedo dedicar una parte de la memoria principal al sistema para utilizarla únicamente en el proceso SSH?

Cada vez que mi servidor ejecuta algunas aplicaciones de aprendizaje automático, la memoria principal se llena por completo y no permite que nadie haga ni siquiera un ssh. Disponemos de un servidor con memoria principal de 64GB.

Quiero que todos los demás usuarios puedan usar 63 GB para todos los demás procesos, pero quiero que el 1 GB restante sea exclusivo solo para iniciar el proceso SSH. Cualquier hilo sobre esto sería de gran ayuda.

Respuesta1

Algunos enfoques que se me ocurren:

  1. Dé mayor prioridad al proceso SSH.

    renice -n -10 -p `pidof sshd`
    

    Con mayor prioridad, el servidor ssh se puede programar con frecuencia en la CPU; como resultado, será menos probable que se cambie al disco.

  2. Utilice SystemdControl de recursosmódulo para controlar el uso de recursos de su programa de aprendizaje automático. Puede utilizar Aplicar MemoryMaxa un segmento de usuario para que todos los procesos iniciados en esa sesión de usuario no puedan utilizar más memoria que el valor especificado. El comando es:

    systemctl set-property MemoryMax=5G user-XXXX.slice
    

    O tal vez use el mismo truco en el servidor ssh con MemoryLow.

información relacionada