Это не настоящая проблема, но я думаю, это может указывать на что-то более серьезное - я недавно обновился до ядра Linux 2.6.36, а средняя загрузка не ниже 1.0 - независимо от того, сколько у меня задач, не важно Загрузка процессора составляет 0%, и никакие процессы не просыпаются.
Интересно, что могло быть причиной этого, и, ну, есть ли какой-нибудь хороший способ отладить эту «проблему».
Я надеюсь, что это не приведет ни к чему более серьезному (например, какой-то тихий кусок ядра вызывает пробуждение). Единственная проблема, которую он создает сейчас, вероятно, заключается в том, что «дно» 1.0 не очень хорошо выглядит на графиках.
Может это быть вызвано отсутствием тикового ядра?
Я видел это со странными вещами, которые останавливаются в планировщике, обычно в системном вызове. Если у вас есть не ванильные модули ядра, обязательно начните с них, даже если они включены в дерево ядра. Элементы ядра с элементом пользовательского пространства - один из способов описать это, и вы можете обнаружить, что демон пользовательского пространства зависает от внешнего события, которое зависает на промежуточном этапе ядра, что приводит к зависанию программы, задающей вопросы ядру.
Основными подозреваемыми являются сетевые файловые системы, а не только те, которые обмениваются данными через Ethernet.
Проверить процессы не в рабочем состоянии с ps -eo user,pid,stat,pcpu,args | grep -v " R"
USER PID STAT %CPU COMMAND daemon 676 Ss 0.0 portmap statd 752 Ss 0.0 rpc.statd -L syslog 872 Sl 0.0 rsyslogd -c4 102 895 Ss 0.0 dbus-daemon --system --fork avahi 934 S 0.0 avahi-daemon: running [faustus.local] daemon 1082 Ss 0.0 atd
И вы можете расшифровать статус из этой таблицы, взятой из ps
справочная страница.
D Uninterruptible sleep (usually IO) R Running or runnable (on run queue) S Interruptible sleep (waiting for an event to complete) T Stopped, either by a job control signal or because it is being traced. W paging (not valid since the 2.6.xx kernel) X dead (should never be seen) Z Defunct ("zombie") process, terminated but not reaped by its parent. For BSD formats and when the stat keyword is used, additional characters may be displayed: < high-priority (not nice to other users) N low-priority (nice to other users) L has pages locked into memory (for real-time and custom IO) s is a session leader l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do) + is in the foreground process group