如何使系统的一部分主内存专用于 SSH 进程?
每次我的服务器运行一些机器学习应用程序时,主内存就会完全满,甚至不允许任何人执行 ssh。我们有一台主内存为 64GB 的服务器。
我希望 63 GB 可供所有其他用户用于所有其他进程,但希望将剩余的 1GB 专门用于启动 SSH 进程。任何关于此的线索都会有很大的帮助。
答案1
我能想到的一些方法:
给予 SSH 进程更高的优先级。
renice -n -10 -p `pidof sshd`
ssh服务器优先级较高,可以频繁调度CPU;因此,它不太可能被交换到磁盘。
使用 Systemd资源控制控制机器学习程序资源使用的模块。您可以使用 apply
MemoryMax
到用户分片,以便在该用户会话中启动的所有进程都不能使用超过指定值的内存。命令是:systemctl set-property MemoryMax=5G user-XXXX.slice
或者也许在 ssh 服务器上使用相同的技巧
MemoryLow
。