Назад | Перейти на главную страницу

На коробке с FreeBSD - простоя процессора из TOP составляет 0%, но процесс не занимает процессор

В системе с FreeBSD, когда я выполняю TOP после запуска процесса x:

Состояния процессора: 34,4% пользователь, 0,0% нормально, 64,8% система, 0,8% прерывание, 0,0% бездействие

Здесь 0% простоя.

Но самый высокий процесс, использующий процессор, - это x, который использует всего около 3%. и нет другого процесса, требующего много времени. Я тоже это проверял с помощью PS.

Как я могу понять такое поведение? Что здесь происходит?

0% простоя означает, что все израсходовано? Я больше ничего не могу? И должна ли сумма всех загрузок ЦП всеми процессами, показанными вверху, составлять 100%?

Проверить это статья из мартовского номера Linux Journal.

Он объясняет множество различных способов узнать, что именно замедляет работу вашей системы. Он показывает вам, как проверить использование ЦП, проблемы с ОЗУ / подкачки и ввод-вывод.

Понятно, что пользователь + система + + прерывание = 100%, так что многое правильно. Это не просто использование процесса "пользовательского пространства".

Задачи, которые может выполнять система, - это замена дисков, ожидание ввода-вывода и т. Д. Проверка других журналов (возможно, сбой диска), исследование использования памяти (возможно, подкачка) и т. Д.

Можете ли вы поделиться полным выводом с загрузкой, использованием памяти и т. Д.? На какой платформе это работает (чтобы мы могли предложить некоторые другие распространенные инструменты, чтобы понять, что происходит)?

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

Я видел такое поведение, когда жестким дискам приходилось постоянно искать, и общая пропускная способность из-за этого сильно страдала.

Что значит systat -vmstat покажись? Диски заняты?