Dedique alguma memória a um programa específico

Dedique alguma memória a um programa específico

Como faço para que uma parte da memória principal seja dedicada ao sistema apenas para uso no processo SSH?

Cada vez que meu servidor está executando alguns aplicativos de aprendizado de máquina, a memória principal fica totalmente cheia e não permite que ninguém faça um ssh. Temos um servidor com 64GB de memória principal.

Quero que 63 GB possam ser usados ​​para todos os outros processos por todos os outros usuários, mas quero deixar os 1 GB restantes exclusivamente apenas para iniciar o processo SSH. Qualquer tópico sobre isso seria de grande ajuda.

Responder1

Algumas abordagens em que posso pensar:

  1. Dê maior prioridade ao processo SSH.

    renice -n -10 -p `pidof sshd`
    

    Com prioridade mais alta, o servidor ssh pode ser agendado frequentemente na CPU; como resultado, será menos provável que seja transferido para o disco.

  2. Use o SystemdControle de recursosmódulo para controlar o uso de recursos do seu programa de aprendizado de máquina. Você pode usar aplicar MemoryMaxa uma fatia do usuário para que todos os processos iniciados nessa sessão do usuário não possam usar mais memória do que o valor especificado. O comando é:

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

    Ou talvez use o mesmo truque no servidor ssh com MemoryLow.

informação relacionada