Ежедневные часы дрейфуют несколько минут

11

В последние недели я каждое утро замечал, что мои часы будут отставать на 2-3 минуты. Я заметил, что открытие диалогового окна «Дата и время» в Системных настройках приведет к повторной синхронизации часов с серверами времени Apple. Я использую OS X 10.7.4 Lion на 8,2 MacBook Pro.

Что может быть причиной этого отсутствия автоматической ресинхронизации?

РЕДАКТИРОВАТЬ: Я сравнил свой /etc/ntp.confфайл с Lion, который также работает с партнером, и мы заметили, что мой файл содержит:

0000000: 7365 7276 6572 2074 696d 652e 6170 706c  server time.appl
0000010: 652e 636f 6d2e 0a                        e.com..

в то время как его имел:

0000000: 7365 7276 6572 2074 696d 652e 6170 706c  server time.appl
0000010: 652e 636f 6d                             e.com

Его последняя дата модификации была в середине 2010 года, в то время как моя последняя была изменена только неделю или две назад (примерно, когда проблема началась?). Я, конечно, не редактировал файл вручную. Возможно связано?

РЕДАКТИРОВАТЬ 2: Я заметил, что если я изменю свой сервер времени в «Дата и время», скажем, на Азию, мой /etc/ntp.confфайл становится:

0000000: 7365 7276 6572 2074 696d 652e 6173 6961  server time.asia
0000010: 2e61 7070 6c65 2e63 6f6d 2e0a            .apple.com..

в комплекте с последним символом 0x2e. Итак, похоже, что OS X добавляет трейлинг. автоматически, но новая система Lion не содержит этот последний символ. Все еще не уверены, влияет ли это на синхронизацию, хотя.

РЕДАКТИРОВАТЬ 3: Прошло 24 часа с тех пор, как я изменил сервер времени на «Apple Asia», а затем снова на «Apple Americas» - без смещения времени. Bizarre.

noffle
источник
Просто общий комментарий ... Я бы подумал, что компьютерные часы должны сохранять лучшее время, без необходимости повторной синхронизации с сервером времени? Мой настольный ПК настроен на повторную синхронизацию раз в неделю, но не теряет заметного времени в этот период. Несколько лет назад, когда я обслуживал ПК, медленные системные часы часто были результатом неисправной литиевой батарейки ?!
MrWhite

Ответы:

6

Похоже, некоторые специальные символы были вставлены в конце (особенно часть 0x2e, которая представляет простое .), и OS X теперь интерпретирует это как часть имени сервера. Чтобы исправить, просто запустите

sudo echo server time.apple.com > /etc/ntp.conf
sudo chown root:wheel /etc/ntp.conf

из терминала.

Относительно того, почему у вас есть эта проблема, я понятия не имею.

Nohillside
источник
Я так и подозревал. Я уже отредактировал файл, чтобы он не содержал символ 0x2e, и перезагрузился, и я в основном жду, чтобы увидеть, смогу ли я снова накопить значительный дрейф. Тем не менее, я хотел бы знать, как это могло произойти и почему открытие «Дата и время» приводит к тому, что он явно не использует файл ntp.conf для повторной синхронизации?
Ноффл
1
Изменение сервера из «Дата и время», вероятно, также решило бы проблему. Открытие панели без каких-либо изменений не вызывает обновления файла конфигурации.
nohillside
При смене сервера времени через диалог «Дата и время» OS X фактически изменяет ntp.confфайл, чтобы он содержал символ 0x2e и завершающий перевод строки. Я не думаю, что это причина.
noffle
Ах, когда я меняю имя сервера через «Дата и время», я получаю трейлинг. также. Кажется, это вопрос Льва.
Nohillside
2

Поскольку (экспериментально) я внес следующее изменение, у меня перестали возникать проблемы с смещением часов, несмотря на то, /etc/ntp.confчто содержимое файла не изменилось технически:

Откройте Date & Timeдиалоговое окно настроек, измените сервер времени с Apple Americas/U.S. (time.apple.com)на, Apple Asia (time.asia.apple.com)а затем снова на Apple Americas/U.S. (time.apple.com). Оттуда мой дневной дрейф перестал происходить.

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

noffle
источник
Хотя это и не окончательный ответ, я столкнулся с повреждением файлов .plist и возникновением всевозможных проблем, которые, по-видимому, устраняются путем «радикального» изменения предпочтений, а затем возвращаясь к «нормальному». Это заставляет файл .plist записываться заново, перезаписывая поврежденные биты.
IconDaemon