Максимальное время, в течение которого ПК с Linux может быть UP?

На самом деле у меня была система Linux (с Ubuntu 12.04.3) в течение нескольких дней без перезагрузки. Я столкнулся с некоторыми ошибками, такими как "зависание в спящем режиме", а некоторые файловые системы, смонтированные в сети, не могли смонтировать устройство, даже не смогли пропинговать его (проверено на другом ПК, сетевое монтирование работало нормально).

Хотел проверить, требует ли Linux перезагрузить компьютер через некоторое время, чтобы избежать таких ошибок, которые невозможно повторить.

Какое максимальное время мы можем поддерживать ПК? Есть ли другие проблемы, которые могут возникнуть, если у нас есть система в течение года или более без перезагрузки?

10 ответов

Решение

Работая системным администратором, я вижу, что серверы Linux работают более 700-800 дней без перезагрузки, поэтому нет ограничений по времени безотказной работы; полученные вами ошибки не связаны с самим Linux (ядром).

Многие службы могут быть перезапущены, и большинство ошибок может быть решено в производственных системах.

Там нет технической необходимости перезагрузить компьютер после определенного периода времени. Я работал в течение нескольких месяцев (включая обновления модуля ядра) с некоторыми приостановками (к ОЗУ и диску) между ними.

Есть случаи, когда

  • это абсолютно необходимо для перезагрузки, как и обновления ядра (но они не являются актуальными во многих ситуациях, и в некоторых случаях вы можете заменить работающее ядро ​​новым на работающей системе. См. kexec и Ksplice)
  • может быть легче перезапустить всю систему, а не только определенную (набор) подсистему (ы).

Могут быть некоторые проблемы, которые со временем "обостряются" (например, проблемы с драйверами оборудования, процессы с утечкой), но они считаются ошибками и часто могут быть исправлены с помощью обновления программного обеспечения или обойдены путем перезагрузки / перезапуска этой конкретной подсистемы (также смотри выше).

Я не знаю, влияет ли это на стабильность системы, но максимальное время безотказной работы, показанное в Ubuntu с ядром 3.19-xx, составляет 68,0962597349822 лет на 32-битной машине и 292471208677,8627 лет на 64-битной машине.

Это потому, что текущее время работы системы, которое возвращается sysinfo() системный вызов, возвращается как __kernel_long_t тип, который объявлен как long в 32-битном ядре и как long long в 64-битном ядре;

long на 32-битной машине имеет максимальное значение 2147483647;

long long на 64-битной машине имеет максимальное значение 9223372036854775807;

Занимаюсь математикой, 2147483647s знак равно 68,0962597349822 годы и 9223372036854775807s знак равно 292471208677,8627 года.

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

Хотя я уверен, что есть серверы с более высоким временем безотказной работы, я привожу следующее от одного из моих в качестве примера того, что возможно:

# uptime
04:58:44 up 2186 days, 23:15,  1 user,  load average: 0.02, 0.02, 0.00

Этот сервер был установлен вскоре после запуска DC, и с тех пор он не был выключен. До сих пор он продолжал счастливо делать то, для чего он изначально был предназначен, и когда эта цель будет перенесена на другой сервер, я надену что-то там только для того, чтобы следить за временем безотказной работы, и, вероятно, он будет работать, пока я не смогу оправдать его сохранение больше

Таким образом, я думаю, что "максимума нет" - это вполне верный ответ.

Однажды я был в классе с системным администратором, который утверждал, что у него есть сервер Linux, который работает без перезагрузок более десяти лет. Нет внутренней причины, по которой система должна регулярно перезагружаться. Требуется только в ограниченных случаях, таких как обновления ядра.

Я обычно оставляю свой домашний компьютер с Windows работающим. Как правило, он будет работать в течение нескольких недель без перезагрузки.

Linux (ядро) очень хорошо освобождает ресурсы при выходе из программы. GNU/Linux, вся ОС, как правило, работает бесконечно долго. Перезапуск программ пользовательского пространства после их обновления - это, как правило, хорошая идея, и зачастую самый простой способ получить все, используя обновленные glibc это перезагрузить систему.

В системах с ошибками драйверов (обычно с ошибками графических драйверов, все остальное, как правило, безупречно), иногда вы получаете странное поведение, которое становится более странным, если вы не перезагружаетесь в ближайшее время. Если вы видите OOPS ядра в вашем dmesg вывод, вам следует перезагрузить компьютер, как только это будет удобно, и сообщить об этом (или поискать других людей с похожими проблемами на аналогичном оборудовании, если это известная проблема). Дистрибутивы не поставляют самые последние версии разработчика графического стека, поэтому иногда ошибка уже исправлена, и ваша видеокарта слишком нова для драйверов дистрибутивной версии, которую вы используете, чтобы быть стабильной. В этом случае ищите PPA с обновленными сборками mesa/drm/xorg. (Я не уверен, что лучшим выбором для запуска Ubuntu с ультрасовременным графическим стеком является ATM).

В любом случае, за исключением драйверов или других ошибок ядра, Linux может работать бесконечно без перезагрузки, чтобы очистить фрагментацию памяти или что-то в этом роде.

У меня есть маршрутизатор Linux / межсетевой экран / почтовый сервер / оболочка (P3 450 МГц, OCed до 500 МГц), который обычно видит время бездействия сотен дней. Я перезагружаюсь только для того, чтобы переставить шнуры питания или заменить неисправный источник питания. Он работает стабильно с теми же CPU/RAM/ жесткими дисками в течение 15 лет. Мне никогда не приходилось перезагружаться "потому что он становился нестабильным". Это всегда происходило по определенной причине, например, из-за сбоя блока питания, обновления ядра или отключения питания, и моя батарея ИБП была почти разряжена (автоматическое отключение с apcupsd).

Если ваша система работает странно, проверьте dmesg для проблем. Если это просто рабочий стол, то, если вы только что установили некоторые обновления пакетов, не относящихся к ядру, выйдите из системы / войдите в систему (или перезагрузите компьютер, но это не обязательно). Я обнаружил, что после обновления пакета Kubuntu 15.04 легко столкнется с проблемами, я думаю, из-за двоичной несовместимости между обновленными / не обновленными версиями одной и той же библиотеки, работающей в одном и том же двоичном файле. (См. Обсуждение этой ошибки).

Мой способ проверить наличие проблем с оборудованием - это загрузить memtest86+. (aptitude install memtest86+Позвольте этому пройти полный проход или бежать всю ночь. Это не гарантирует стабильную систему, так как в наши дни с ЦП могут происходить провалы напряжения на скачках нагрузки, и memtest не исключает этого. Он также не нагреет ваш процессор, как Prime95.

Моя машина была перезапущена сегодня 15.04, после 11 дней без каких-либо странных ошибок, которые я могу вспомнить. Если вы выполняете тяжелую работу и разработку в системе, иногда это может быть единственным вариантом перезагрузки, но это только когда-либо по необходимости.

Технически ограничений нет. Вы просто должны установить его, чтобы не спать или выключить.

Лично я бы не хотел запускать свой ноутбук или ПК в течение нескольких дней без перезагрузки или выключения.

Просто из-за основных компонентов, которые выделяют тепло, можно ускорить износ MB.

(Это если у вас нет надлежащего охлаждения и вентиляции)

Не относится к Unbuntu, но у меня есть винтажный ноутбук 1997 года (300 МГц, 288 МБ ОЗУ) с дистрибутивом на основе Debian, время работы которого превышало 60 дней, при работе с одной программой (плюс системные компоненты и conky) и не запускать и не останавливать другое программное обеспечение, кроме терминала для загрузки обновлений еженедельно. В конце концов, он завис при загрузке обновлений, примерно через 63 дня. В противоположность этому, моя настольная система Kubuntu 14.04 зависает при блокировке экрана примерно через две недели. Я согласен с другими ответами; больше о том, какое программное обеспечение вы запускаете и как часто вы запускаете и останавливаете другие программы, чем о Linux как таковом.

Другие вопросы по тегам