Как пояснение, нагрузка напрямую не связана с процессором. Это одно из самых распространенных заблуждений о нагрузке. Тот факт, что вы упомянули диск, похоже, подтверждает, что вы знаете об этом, но я просто хотел упомянуть об этом, поскольку вижу комментарии, которые указывают на то, что некоторые считают иначе.
Загрузка определяется как количество процессов, ожидающих системных ресурсов. Обычно это процессор, диск или сеть, но на самом деле это может быть что угодно аппаратное.
«Процесс» также не обязательно является полным процессом. Поток определяется как «облегченный процесс», и каждый ожидающий поток увеличивает счетчик нагрузки.
Чтобы выяснить, какие процессы являются проблемой:
Выполнить top -H
( -H
позволяет показывать потоки)
Сочетания клавиш различаются в зависимости от версии.
С более новым верхом (3.3 и позже):
Нажмите, fчтобы вызвать параметры поля.
Используйте клавиши со стрелками для перехода S = Process Status
и нажмите s.
Нажмите, qчтобы вернуться на главную страницу.
Нажмите Shift+, Rчтобы отменить сортировку.
Со старшей версией (до 3.3):
Нажмите Shift+, oчтобы вызвать параметры сортировки.
Затем wотсортировать по статусу процесса.
Затем, Enterчтобы вернуться на главную страницу.
Затем Shift+, Rчтобы изменить сортировку.
Затем в S
столбце найдите процессы, которые имеют D
или R
(теперь они должны быть вверху). Это будут процессы, способствующие загрузке системы.
Если процесс показывает D
, что означает «непрерывный сон». Обычно это происходит, когда процесс ожидает ввода-вывода (диск, сеть и т. Д.).
Если процесс показывает a R
, это означает, что он просто выполняет обычные вычисления.
Чтобы узнать больше о том, что делают эти процессы:
С более новым верхом (3.3 и позже):
Нажмите, fчтобы вызвать параметры поля.
Используйте клавиши со стрелками для перехода WCHAN = Sleeping in Function
и нажмите, dчтобы включить его.
Затем, qчтобы вернуться на главную страницу.
Со старшей версией (до 3.3):
Нажмите fзатем, yчтобы активировать WCHAN
поле.
Если в вашей системе есть необходимые параметры ядра, и в вашей системе присутствует файл wchan (я забыл, где он находится и как он называется) , WCHAN
поле должно показать вам, какую функцию ядра выполняет процесс в данный момент (если поле просто показывает -
или ?
на все, у вас нет поддержки).
Немного Google здесь, и вы должны быть на своем пути.
Если у вас нет поддержки wchan, вы всегда можете попробовать strace
процессы, чтобы узнать, что они делают, но это трудный путь.