У меня есть (физическая) коробка с урезанной Ubuntu; время от времени (6 раз за 3 месяца) часы перемещаются назад ровно на 300 секунд (+ - 0,01 секунды; всегда точно на 300 секунд). Это происходит от одной минуты к другой (у меня есть внешняя машина, опрашивающая его раз в минуту).
Коробка работает под управлением 2.6.26-generic (ядро, скомпилированное пользователем), Ubuntu 9.04 (я знаю, я пытаюсь обновить его, но он частично встроен). В журналах нет ничего, что указывало бы на то, что произошло, и у меня есть большой выбор ntp-серверов pool.ntp.org, которые через некоторое время решают проблему.
Кто-нибудь знает, что может быть причиной этого?
Дополнительный 1:
У меня также есть ряд других коробок, работающих с тем же ядром (двоичные идентичные), и небольшие версии того же программного обеспечения, которые не имеют этой проблемы. Я также поменял аппаратное обеспечение.
Дополнительно 2 (резюме моих индивидуальных комментариев):
- Я знаю, что 9.04 устарел, я согласен, что он должен быть обновлен, и это решение вне моего контроля. Потому что управление.
- Я пробовал большое количество серверов NTP и небольшое количество. Это все еще происходит в обоих случаях; если у меня большое количество ntp-серверов, то это исправляется быстрее.
- Я поменял оборудование
- Я использую то же самое ядро / операционную систему на другом компьютере (с идентичным оборудованием), который не показывает проблему.
- Перезагрузка не помогла. (эта проблема продолжается около 6 месяцев)
- Время работы составляет около 3 месяцев. Коробка «всегда включена», работает АТС (звездочка).
- Прямо сейчас hwclock точно соответствует программным часам - 0.000000 секунд
- Я не смог найти никаких заданий cron, которые читают аппаратные часы.
- Нет никакой связанной с нагрузкой схемы (хотя нагрузка в любом случае довольно низкая).
- Это происходит днем и ночью.
- Это не происходит через равные промежутки времени. Из них за последние 3 месяца половина произошла за последние 9 дней.
- Это не «дрейф» - 99% времени, это в течение крошечной доли секунды, затем от одной минуты к другой, он прыгает ровно 300 секунд назад. Итак, одна минута может сказать, что это 3:07:03, что соответствует моему другому компьютеру с точностью до 1 микросекунды, а через 60 секунд - 3:04:03.
- Я ничего не могу найти в журналах.
Ответы:
Это звучит как часы реального времени (RTC). Если это запасное оборудование, вы можете подтвердить проблему, запустив другую ОС, например, загрузив live linux CD или загрузку PXE, и посмотрите, сможете ли вы повторить ошибку. Если в другой ОС происходит то же самое время, вы подтвердили, что проблема связана с аппаратным сбоями.
Предполагая, что это RTC, вы можете попробовать следующие решения в порядке серьезности.
источник
Вы можете запустить скрипт в окне, которое отслеживает запущенные процессы и в то же время контролирует часы. Если часы неожиданно возвращаются назад, они регистрируют список процессов, активных в это время. Может быть, это дает подсказку, какой процесс меняет часы.
Конечно, это предполагает, что у вас есть проблемы с программным обеспечением. Вы ничего не найдете таким образом, если только ваше оборудование выходит из строя.
источник
Ответ Майкла Ясумото, кажется, охватывает все основы - я согласен, что вы, вероятно, смотрите на нестабильное оборудование - но вот идея практического подхода: используйте надежную машину с очень хорошим внутренним соединением, у которой есть несколько циклов, чтобы сэкономить, чтобы запустить NTP-сервер, а затем сделайте « все, что нужно », чтобы заставить NTP-клиента, работающего на встроенной УАТС, спамить этот локальный NTP-сервер на запросы времени как можно чаще (например, каждые 30 секунд).
Затем, когда коробку окончательно обновят, отложите ее в сторону и выясните, что с ней не так в некоторой точке (TM). :П
источник