У меня работает сервер Linux/Debian: postgresql, tomcat. Иногда я не могу получить доступ к серверу по SSH.
Когда я открываю ssh-соединение с моим сервером, я могу ввести свой идентификатор входа в систему (root) и пароль, но когда я ввожу свой пароль и нажимаю enter, ответа нет.
С помощью функции 'sysinfo' я обнаружил, что когда сервер сталкивается с этой ситуацией, происходит около 1600 процессов (это значение взято из sysinfo.procs), а средняя загрузка составляет почти 300 (в обычном случае средняя загрузка находится в диапазоне от 0 до 1)
Я пытаюсь перечислить ТОП 5 процесса по количеству созданных им потоков. Однако я не могу найти легкий способ. Есть какой-то способ, который я нашел.
- Записать значение NLWP в
ps -efL
, чтобы я мог знать, какой процесс ненормально создает слишком много потоков. - Когда средняя нагрузка становится все больше и больше, скопируйте весь файл
/procs/*/status
в каталог журнала, и я узнаю, какой процесс имеет наибольшее значение «Потоки» позже.
Если есть другие предложения, пожалуйста, дайте мне знать. Это сводит меня с ума, потому что этот сервер Linux не должен выходить из строя