Я сталкиваюсь со странной проблемой, когда сервер Fedora Linux VPS сообщает о 100% ЦП и фактически становится непригодным для использования, но я не знаю почему, потому что высокая нагрузка не позволяет мне подключиться к нему по SSH, чтобы увидеть, что не так.
Как установить приоритеты или настроить SSH, чтобы я мог подключаться, даже если какой-то процесс потребляет все остальные ЦП?
Создайте скрипт, который регистрирует процессы:
#!/bin/bash
top -b -c -n 1 -d 1 > /tmp/top-$(date "+%Y-%m-%d_%H-%M-%S")
Настройте задание cron, которое запускает скрипт каждую минуту:
*/1 * * * * /path/to/script.sh
В следующий раз, когда ваша система перестанет отвечать, у вас будет запись того, что это делало.
Если это действительно проблема, связанная с процессором / нагрузкой, вы можете (повторно) настроить процесс sshd на своем сервере, чтобы дать ему более высокий приоритет. Чтобы сделать это постоянным, вы можете добавить приятное в сценарий инициализации sshd.
Если вы не возражаете, я думаю, вы задаете неправильный вопрос. Вы действительно хотите узнать, что использует, так что ресурсы могут быть настолько велики, что вы не можете войти в систему. Я сталкивался с этой проблемой много раз, и решение состоит в том, чтобы постоянно отслеживать, что происходит на сервере. Я придумал это решение, которое настолько легкое, насколько это возможно, уменьшая его шансы быть остановленным потребителем ресурсов:
http://linuxtech.ie/wordpress/2012/09/05/finding-a-severe-resource-hog-on-your-server/
Надеюсь, это поможет
Я запускал код, который забирал все ресурсы через Docker, поэтому я просто ограничил количество ЦП, которое может потреблять контейнер, запустив его с
--cpus=7.5
Поскольку у меня 8 ядер, это означает, что у меня всегда должна быть половина ядра для обработки сеансов SSH на фактическом сервере, на котором запущен контейнер (если какой-либо другой процесс тоже не использует эти ресурсы).
Для удобства я также ограничил использование памяти контейнера с помощью
--memory=4g
https://docs.docker.com/config/containers/resource_constraints/#cpu