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

Проблема средней нагрузки (в основном косметическая)

Это не настоящая проблема, но я думаю, это может указывать на что-то более серьезное - я недавно обновился до ядра 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