Вот я и чешу голову. Надеюсь, кто-нибудь поможет мне решить проблему.
У меня есть сервер Dell PowerEdge SC1435, на котором некоторое время работала предыдущая версия Ubuntu. (Кажется, это была версия 13.10 server x64)
Недавно я переформатировал диск (SSD) и установил Ubuntu Server 14.04.1 x64.
Все казалось в порядке во время установки, но машина зависла при первой загрузке в конце вывода ядра, как раз перед тем, как я ожидал, что экран очистится и появится приглашение на вход. Я не увидел никаких очевидных ошибок в конце вывода ядра. (Было сообщение о "неиспользовании ненадежного датчика температуры процессора", но оно, похоже, там было независимо от того, загружается он или нет)
Я дал ему добрых 5 минут, а затем принудительно перезагрузил. К моему удивлению, он загрузился до приглашения на вход примерно через 1-2 секунды после поста BIOS. Я перезагрузил снова, и он, казалось, замер на несколько дополнительных секунд там, где завис до этого, но продолжил до экрана входа. После перезагрузки он снова стал быстрым. Поэтому в этот момент я подумал, что это просто один из тех случайных одноразовых сбоев, которые я никогда не объясню, поэтому я пошел дальше.
Я установил несколько пакетов (точно такие же пакеты, установленные на той же версии ОС на другом оборудовании), выполнил apt upgrade и dist-upgrade, затем перезагрузился. Похоже, он снова завис, поэтому я поехал в центр обработки данных и подключил консоль, но получил пустой экран. Снова принудительно перезагрузил. (также настроил ipmi для удаленной перезагрузки и избавился от grub recordfail, чтобы он не ждал, пока я нажму Enter!)
Это было очень поздно вчера вечером. Я пришел домой, сделал несколько перезагрузок без проблем, поэтому пошел спать. Сегодня я снова сделал перезагрузку, чтобы проверить, и он снова где-то завис. Я удаленно принудительно перезагрузил его.
В этот момент я начал копать еще немного и сразу заметил нечто действительно странное.
top - 14:18:35 up 8 min, 1 user, load average: 1.00, 0.85, 0.45
Tasks: 148 total, 1 running, 147 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.1 us, 0.3 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 33013620 total, 338928 used, 32674692 free, 9740 buffers
KiB Swap: 3906556 total, 0 used, 3906556 free. 47780 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 33508 2772 1404 S 0.0 0.0 0:03.82 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/u16:0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.24 rcu_sched
9 root 20 0 0 0 0 S 0.0 0.0 0:00.02 rcuos/0
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuos/1
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuos/2
Этот сервер полностью не используется и простаивает, однако его средняя загрузка за 1 минуту составляет ровно 1,00? Поскольку я смотрю на другие значения, то 5-минутные и 15-минутные также, похоже, стремятся к 1,00, поэтому я предполагаю, что они все достигнут 1,00 в какой-то момент. («1 Running» — это верхний процесс)
Раньше у меня такого не было, и поскольку я понятия не имею, что именно вызывает сбой при запуске, я предполагаю, что эти два явления, скорее всего, связаны.
Мне бы хотелось определить (и, надеюсь, устранить) причину ложного среднего значения нагрузки и моей проблемы со сбоями.
До сих пор мне не удалось определить, какой процесс может ожидать какой-либо ресурс для генерации этого среднего значения нагрузки.
Я был бы очень признателен, если бы кто-нибудь помог мне попытаться его отследить.
top показывает, что все процессы практически всегда спят. Некоторые иногда всплывают сверху, но я думаю, что это вполне нормально. Использование ЦП в основном показывает 100% ПРОСТОЯ, с очень редкими падениями до 99% или около того.
nmon мне ничего особенного не показывает. Все выглядит просто бездействующим.
iotop не показывает практически никакого трафика. (опять же, очень редкие точки доступа к диску)
Частота прерываний кажется низкой. Насколько я могу судить, гораздо ниже 100/сек.
Я видел многочисленные обсуждения в Google, предлагающие следующее:
echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
..нет эффекта.
Оперативная память на сервере имеет ECC и проходит тесты.
Установка сервера была «минимальной» (опция F4) с сервером OpenSSH, отмеченным во время установки. После этого установил несколько пакетов, включая vim, bcache-tools, bridge-utils, qemu, software-properties-common, open-iscsi, qemu-kvm, cpu-checker, socat, ntp и nodejs. (Думаю, это все)
Я пробовал отключать и удалять модуль ядра bcache. Никакого эффекта. Остановил службу iscsi. Никакого эффекта. (хотя на этом сервере пока ничего не настроено)
Я оставлю это здесь, пока это не стало безумно длинным. Если кто-то может помочь мне попытаться разобраться, это было бы очень ценно.
Ваше здоровье,
Джеймс