Как выделить часть основной памяти системы для использования только процессом SSH?
Каждый раз, когда мой сервер запускает некоторые приложения машинного обучения, основная память полностью заполняется и не позволяет никому даже сделать ssh. У нас есть сервер с 64 ГБ основной памяти.
Я хочу, чтобы 63 ГБ могли использоваться для всех других процессов всеми другими пользователями, но хочу сделать оставшийся 1 ГБ исключительно для запуска процесса SSH. Любые темы по этому поводу были бы действительно полезны.
решение1
Вот несколько подходов, которые я могу придумать:
Присвойте процессу SSH более высокий приоритет.
renice -n -10 -p `pidof sshd`
При более высоком приоритете сервер ssh может чаще планироваться в ЦП; в результате он будет реже выгружаться на диск.
Используйте SystemdКонтроль ресурсовмодуль для управления использованием ресурсов вашей программы машинного обучения. Вы можете использовать apply
MemoryMax
к пользовательскому срезу, чтобы все процессы, запущенные в этом сеансе пользователя, не могли использовать больше памяти, чем указано. Команда:systemctl set-property MemoryMax=5G user-XXXX.slice
Или, может быть, использовать тот же трюк на ssh-сервере с
MemoryLow
.