Как я могу увидеть, какой процесс вешает мой Banana-pi на несколько секунд каждые пару минут?

Возможно, что ядро Вашей виртуальной машины или слишком старо или не настроенное для обеспечения /proc/PID/comm файл.

Согласно proc (5) страница справочника, Вы можете использовать второе поле в /proc/[pid]/stat. Это описано как:

Имя файла исполняемого файла, в круглых скобках. Это видимо, выгружается ли исполняемый файл.

Название команды может быть усеченным, если это - дольше, чем 16 символов.

3
24.01.2018, 13:48
3 ответа

Я рекомендую инструмент dstat . Он имеет множество плагинов (перечисленных через "dstat --list"), которые могут помочь вам сузить область, где возникает проблема.

Можно начать с самого дорогого ввода-вывода:

# dstat -s --top-io-adv --top-bio-adv
----swap--- -------most-expensive-i/o-process------- ----most-expensive-block-i/o-process----
 used  free|process               pid  read write cpu|process               pid  read write cpu
   0  4000M|chrome                3388  152k  97k0.6%|chrome                3388  155k  95k0.6%
   0  4000M|gnome-terminal-server 4635  586B  24k0.1%|chrome                3388    0   12k0.1%

От: http://articles.slicehost.com/2010/11/12/using-dstat-to-check-io-and- своп

1
27.01.2020, 21:31

Утилита iotop может подсказать вам, если задержка возникает из-за жесткого диска или сетевых операций.

0
27.01.2020, 21:31

Вы должны запустить top сортировку по времени процессора и отметить все обработанные данные, которые заняли более пары секунд. Затем, после зависания, перезапустите top , чтобы проверить, не поднялся ли процесс до вершины.

Если вы подозреваете какую-либо конкретную службу (apache?), Попробуйте остановить ее и посмотреть, сохраняется ли проблема. В общем, я бы убил любой некритический процесс, о котором top сообщил как о важном потребителе времени ЦП.

Также будет полезно, если вы опишете конфигурацию вашего оборудования. Вы подключали какое-либо внешнее оборудование? Что выводит lsmod ? Опять же, может помочь удаление всего несущественного оборудования и отключение связанных модулей.

В заключение, убедитесь, что вы используете Ethernet при оценке производительности (или, что еще лучше, подключаетесь к локальному терминалу напрямую). Wlan - гораздо более сложная система, многие места которой подвержены зависанию. Например, если ваше устройство теряет соединение и подключается автоматически, это может выглядеть как зависание SSH через WIFI.

0
27.01.2020, 21:31

Теги

Похожие вопросы