У меня есть 27-дюймовый iMac середины 2011 года, работающий под управлением Mavericks (10.9.1). Я обновился с Mountain Lion этой осенью, когда была выпущена Mavericks. Раньше у меня никогда не было проблем с системными часами.
С момента установки Mavericks мои часы постоянно отстают примерно на 20 секунд в день. У меня правильно установлен часовой пояс, и в системных настройках даты и времени установлен флажок «Автоматически устанавливать дату и время». Он настроен на использование «Apple/Americas/US (time.apple.com)».
Когда я открываю панель «Системные настройки даты и времени», мои часы сразу настраиваются на правильное время, но, не открывая панель, они довольно быстро сбиваются с пути.
Я перезагрузился, установил и снял флажок, чтобы установить дату и время автоматически, и, похоже, это не помогло.
Любые решения или идеи?
ОБНОВИТЬ:
Я добился того, что кажется прогрессом. Вопрос: Как узнать, правильно ли обновляются часы на моем Mac? и его принятый ответ от grgarside предоставил много полезной помощи в устранении неполадок. Мой дрейф — колоссальные 499,988 (прибавка 43,19 секунды в день)!
Самое главное, что кардиостимулятор запускается каждые 5 - 15 секунд, о чем свидетельствует мой стволовой лог, однако каждый раз при запуске выдает ошибку:
Feb 1 11:53:29 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb 1 11:53:39 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb 1 11:53:51 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb 1 11:53:59 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb 1 11:54:09 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Feb 1 11:54:19 jsw.local pacemaker[19928]: adjtime: Operation not permitted
Кажется, у меня проблема с разрешением, но я не могу понять. Я выгрузил и перезагрузил кардиостимулятор, пожалуйста, через launchctl
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.pacemaker.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.pacemaker.plist
вот текстовый экспорт моего com.apple.pacemaker.plist
{
Label = "com.apple.pacemaker";
ProgramArguments = (
"/usr/libexec/pacemaker",
"-b",
"-e",
"0.0001",
"-a",
10,
);
KeepAlive = {
PathState = {
"/private/var/db/ntp.drift" = YES;
};
};
}
мой файл /private/var/db/ntp.drift принадлежит пользователю root:wheel и имеет права доступа 644, /System/Library/LaunchDaemons/com.apple.pacemaker.plist имеет точно такое же право собственности и разрешения.
Я надеюсь, что это обновление предоставит достаточно дополнительной информации, чтобы кто-то мог решить эту проблему.
кажется, они нормально работают на моем iMac с Mountain Lion:
0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org time.apple.com
просто скопируйте/вставьте разделенную пробелом строку выше в поле «Установить дату и время автоматически» в настройках даты и времени. не забудьте нажать Enter после ввода имен серверов ntp, чтобы обновить ntp.conf.
ntpd Maverisks сломан, разбит, поврежден. Apple знает об этом: я часами разговаривал с ними по телефону, предоставляя им образцы и файлы в изобилии. Это может быть перенос с iOS («Назад к Mac», независимо от того, работает ли он на самом деле). Виновником, похоже, является новый демон Maverisks под названием «кардиостимулятор», который в классической манере Apple недостаточно задокументирован и, похоже, не ведет себя в соответствии с той небольшой документацией, которая есть.
Перед новой установкой я настоятельно рекомендую вам попробовать сбросить NVRAM (энергонезависимую память).
NVRAM (или PRAM на старых компьютерах Mac на базе PowerPC) хранит определенные настройки. Это своего рода память, похожая на обычную оперативную память вашего Mac, но с одним существенным отличием в том, что NVRAM хранит то, что находится на ней, даже если ваш Mac выключается.
В частности, информация, хранящаяся в NVRAM/PRAM, включает:
Вероятно, то, что хранится в вашем NVRAM о вашем времени, каким-то образом было повреждено и теперь вызывает вашу проблему.
Теперь вы можете спросить, а как насчет синхронизации времени с серверами? Для чего мне это нужно? Ну, это просто для установки времени, а не для того, чтобы делать это вручную. Просто маленький жест; ничего более. После того, как он установлен, он, как обычно, сохраняется в вашем NVRAM.
И ваше время корректируется каждый раз, когда вы открываете настройки даты и времени, потому что, вероятно, открытие там инициирует ручную синхронизацию вашего времени с сервером. Но после этого дела снова идут наперекосяк.
В любом случае, чтобы сбросить NVRAM:
Источник: Apple
Можно ntpdate
через launchd.
Я собрал части вместе на https://github.com/tjluoma/ntp-fix-time , но я включу сюда соответствующие части:
Plist launchd
, который входит в /Library/LaunchDaemons/ (потому что его нужно запускать так же, как и root
при запуске)
Сценарий оболочки, который вызывает ntpdate -u $NTPHOST
и регистрирует свой вывод.
По какой-то причине попытка вызова ntpdate
напрямую через launchd
меня не сработала, но вызов через скрипт, похоже, сработал.
Использует plist
это:
<key>RunAtLoad</key>
<true/>
чтобы убедиться, что он запускается при перезагрузке Mac.
Этот:
<key>StartInterval</key>
<integer>14400</integer>
следит за тем, чтобы он запускался каждые 4 часа, что казалось «достаточно часто».
Сценарий будет использовать серверы, перечисленные в /etc/ntp.conf, если их нет, и в этом случае он будет использовать time.apple.com
.
(На man
странице ntpdate
предполагается, что в конечном итоге он будет «удален» из Mac OS X, но он все еще существует в 10.9.1, так что мне этого достаточно.)
До сих пор мне не удалось устранить дрейф часов. Поскольку мои часы медленно дрейфуют (менее минуты в день), требуется некоторое время, чтобы увидеть, работает ли предпринятое решение.
Я только что попробовал вариант ответа Патрикс из этого поста . Эхо не работало в командной строке, я получил «отказано в доступе» (его ответ ссылался на установку Lion). Но я удалил старый файл и заменил его новым, который я отредактировал с помощью nano.
sudo rm /etc/ntp.conf
sudo touch /etc/ntp.conf
sudo nano /etc/ntp.conf
в файле я просто разместил
server time.apple.com
нет отставания. или новая строка. Затем я вышел из nano (ctrl-X) и ответил «да» на сохранение изменений.
Мне не нужно было менять владельца, так как он уже принадлежал root:wheel.
Я обновлю, когда узнаю, сработало ли это.
Вот обновленный список серверов, расположенных в Гейтерсберге, штат Мэриленд (я на восточном побережье). Другие серверы указаны по ссылке внизу.
time-a-g.nist.gov time-b-g.nist.gov time-c-g.nist.gov time-d-g.nist.gov time-d-g.nist.gov time-e-g.nist.gov time-e-g.nist.gov
Скопируйте \ вставьте список, разделенный пробелами, в поле «Установить дату и время автоматически» в настройках даты и времени.
Обязательно сбросьте NVRAM после обновления серверов.
Я хотел предоставить свои два цента по этой проблеме. У меня была похожая проблема. Мои часы отставали на час, и мне помогло снять флажок «Установить часовой пояс» автоматически, используя текущее местоположение, и просто выбрав ближайший город вручную. Не помешает попробовать и посмотреть, есть ли разница.
Как обсуждалось в другом месте, смещение часов происходит из-за того, что ntpd не работает, а что-то, называемое /usr/libexec/pacemaker, также работает неправильно. Отключение кардиостимулятора и запуск ntpdate для ускорения часов сделали часы достаточно стабильными в моей системе с минимальными системными изменениями.
В Терминале выполните эти команды по порядку.
cd /System/Library/LaunchDaemons/
mv com.apple.pacemaker.plist com.apple.pacemaker.plist.OFF
sudo crontab -l > /tmp/foo
echo '*/5 * * * * /usr/sbin/ntpdate -s -B -u time.apple.com' >> /tmp/foo
sudo crontab /tmp/foo
Затем перезапустите систему.
Первые две команды отключают кардиостимулятор, перемещая его файл конфигурации launchd в сторону. Последние три команды сообщают системному демону cron запускать ntpdate каждые пять минут, замедляя или ускоряя часы по мере необходимости и записывая все, что он делает, в /var/log/system.log.
Если вы позвоните в Apple, они предложат вам выполнить переустановку с сохранением операционной системы.
Я предполагаю, что у вас повреждены предпочтения. Вы можете попробовать изменить каждый параметр на панели настроек даты и времени на что-то другое, перезагрузить компьютер, а затем установить его на то, что вы хотите. Если это не сработает, перейдите в каталог «Настройки» и удалите любой список предпочтений, который имеет какое-то отношение к дате и времени настроек.
bmike
Эндрю У.
Скотт
Скотт
Скотт
Скотт
Эндрю У.
Скотт
Брайан Стормонт