Сортуйте топ-10 процесів за кількістю потоків, створених у Linux


3

У мене працює сервер Linux / Debian: postgresql, tomcat. Іноді я не можу отримати доступ до сервера за допомогою ssh.

Коли я відкриваю ssh-з'єднання зі своїм сервером, я можу вводити свій логін для входу (root) та пароль, але коли я набираю свій пароль та натискаю Enter, відповіді немає.

За функцією 'sysinfo' я виявив, що коли сервер стикається з цією ситуацією, існує близько 1600 процесів (це значення від sysinfo.procs), а середнє навантаження майже 300 (у звичайному випадку середнє навантаження становить від 0 до 1)

Що я намагаюся зробити, це перерахування ТОП-5 процесів за кількістю створених ниток. Однак я не можу знайти простий метод. Я знайшов якийсь спосіб.

  1. Увімкніть значення NLWP ps -efL, тому я можу знати, який процес створює занадто багато потоків аномально.
  2. Коли середнє завантаження стає більшим і більшим, скопіюйте весь /procs/*/statusфайл у каталог журналів, і я можу пізнати, який процес має найбільше значення "Нитки" пізніше.

Якщо є якісь інші пропозиції, будь ласка, повідомте мене про це. Це зводить мене з розуму, оскільки цей сервер Linux не повинен виходити з ладу

Відповіді:


6

Спробуйте це:

$ ps axo nlwp,pid,cmd | sort -rn | head -10

ps ax  - see every process
    o  - format
         nlwp: number of lightweight processes (threads) in the process

Дякую за твою допомогу! Я спробую цю команду, щоб з'ясувати, який процес створює проблеми.
Wonjae Lee
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.