68 votos

¿Cómo puedo saber si mi Mac mantiene el reloj actualizado correctamente?

Me gustaría saber cuáles son los ajustes predeterminados de OS X en cuanto a mantener el reloj ajustado cuando habilito la sincronización horaria automática en la preferencia Fecha y hora.

Sé que el venerable ntpd demonio de los Mavericks (10.9) y Yosemite (10.10) ya no es responsable de ajustar el tiempo y en su lugar un nuevo programa pacemaker se ha introducido - así que, ¿cómo puedo saber que las cosas están funcionando o necesitan un ajuste para mantener el tiempo?

131voto

siva Puntos 23

pacemaker es el nuevo demonio responsable de administrar el tiempo en OS X. Utiliza adjtime para ajustar el reloj según el contenido de /var/db/ntp.drift .

Puedes ver lo "apagado" que está tu reloj mirando el contenido de ntp.drift - por ejemplo, mi archivo contiene lo siguiente:

-23.640

Esto significa que el reloj está a -23,64 PPM del tiempo que debería estar. Las unidades de este número son PPM, o partes por millón. 1 PPM es 1 microsegundo/segundo, o 3,6ms/h.

Puedes hacer que el reloj se actualice más a menudo ejecutando pacemaker con el -a que proporciona un tiempo en segundos para esperar entre los movimientos de tiempo:

/usr/libexec/pacemaker -a 10

Para ver los parámetros que está usando OS X para el marcapasos, abra /System/Library/LaunchDaemons/com.apple.pacemaker.plist .

{
    KeepAlive = { PathState = { "/private/var/db/ntp.drift" = :true; }; };
    Label = "com.apple.pacemaker";
    ProgramArguments = ( "/usr/libexec/pacemaker", "-b", "-e", "0.0001", "-a", "10" );
}

Para encontrar su configuración actual, ejecute con el -i opción:

/usr/libexec/pacemaker -i
Jan 19 18:20:08 g pacemaker[12544] <Info>: --- settings for external power ---
Jan 19 18:20:08 g pacemaker[12544] <Info>: interval = 1 seconds, tolerance = 0.000000, drift = -23.640000
Jan 19 18:20:08 g pacemaker[12544] <Info>: --- settings for internal power ---
Jan 19 18:20:08 g pacemaker[12544] <Info>: interval = 1 seconds, tolerance = 0.000024, drift = -23.640000

Puedes mostrar el registro corriendo con el -v opción:

sudo /usr/libexec/pacemaker -v
Password:
Jan 19 18:23:17 g pacemaker[13202] <Info>: power status check: using external power
Jan 19 18:23:17 g pacemaker[13202] <Info>: created file monitor for /var/db/ntp.drift
Jan 19 18:23:17 g pacemaker[13202] <Info>: interval = 1 seconds, tolerance = 0.000000, drift = -23.640000
Jan 19 18:23:19 g pacemaker[13202] <Debug>: drift -23.640000 residue 0.000000 delta -23
Jan 19 18:23:20 g pacemaker[13202] <Debug>: drift -23.640000 residue -0.640000 delta -24
Jan 19 18:23:21 g pacemaker[13202] <Debug>: drift -23.640000 residue -0.280000 delta -23
Jan 19 18:23:22 g pacemaker[13202] <Debug>: drift -23.640000 residue -0.920000 delta -24
Jan 19 18:23:23 g pacemaker[13202] <Debug>: drift -23.640000 residue -0.560000 delta -24
Jan 19 18:23:24 g pacemaker[13202] <Debug>: drift -23.640000 residue -0.200000 delta -23
⌃C%

0 votos

Mi sistema Mojave no se sincronizaba automáticamente, pero sntp trabajado. Me pregunto si el /var/db/ntp-kod error está causando problemas con la sincronización automática - tratará de crear y comprobar de nuevo en unos pocos meses. =)

0 votos

¿hay alguna actualización para BigSur?

5voto

Pankaj Kumar Puntos 150

Si vas a http://time.gov puedes ver la hora oficial (hasta el segundo) y usarla para verificar si la hora de tu sistema es correcta o no. Tenga en cuenta que esta es la hora oficial del NIST, y hace su propia sincronización en el navegador, independientemente de la hora del sistema (como ejemplo, puede ver aquí que time.gov maneja los segundos bisiestos, mientras que OS X aparentemente no lo hace).

0 votos

Podría explicar cómo afecta esto a mi elección de utilizar "mantener el reloj sincronizado" Supongo que esta es una respuesta tan buena como "comprueba tu Apple Watch - es preciso hasta el segundo".

3 votos

La pregunta es "¿cómo puedo saber si mi Mac mantiene el reloj actualizado correctamente?". Si "mirar la hora oficial" no responde a tu pregunta, probablemente deberías reformularla.

0 votos

En cuanto a time.gov, es el oficial La hora NIST, y hace su propia sincronización en el navegador cuando se visita la página. Decir "comprueba un Apple Watch" sería lo mismo que decirte que el reloj de tu sistema OS X ya está sincronizado por defecto (lo cual es cierto, pero no responde realmente a la pregunta). Esto también es mucho más barato que un Apple Watch, y el Apple Watch no tiene una pantalla de segundos digitales AFAIK.

5voto

Oskar Puntos 1242

El primer paso es ver si tu tiempo está preparado.

Mac:~ me$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*time.apple.com  17.168.198.149   2 u 1046  512   37   58.475    9.477   3.674

Asumiendo que tiene valores de retardo/desplazamiento/jitter inferiores a 100 (el retardo podría ser inferior a 1000 en situaciones normales para sistemas menos críticos en cuanto al tiempo), el siguiente comando a ejecutar en la terminal es ntpq seguido por el servidor de tiempo de su ntpq y la preferencia del sistema. También puede probar otros servidores de tiempo para ver si tienen menores demoras, ya que al sistema de cronometraje le gusta tener una respuesta cercana y rápida de los servidores de tiempo al corregir la hora por diferencias de milisegundos y calcular cómo el reloj del hardware actual se está alejando de la hora estándar.

Mac:~ me$ ntpdate -q time.apple.com
server 17.151.16.12, stratum 2, offset 0.081698, delay 0.11237
server 17.151.16.20, stratum 2, offset 0.081365, delay 0.11310
server 17.151.16.21, stratum 2, offset 0.082754, delay 0.11440
server 17.151.16.22, stratum 2, offset 0.081750, delay 0.11264
server 17.151.16.23, stratum 2, offset 0.082691, delay 0.11415
server 17.151.16.38, stratum 2, offset 0.082077, delay 0.11458
server 17.171.4.13, stratum 2, offset 0.084822, delay 0.08054
server 17.171.4.14, stratum 2, offset 0.083749, delay 0.08142
server 17.171.4.15, stratum 2, offset 0.086343, delay 0.07605
server 17.171.4.33, stratum 2, offset 0.086526, delay 0.07690
server 17.171.4.34, stratum 2, offset 0.084500, delay 0.07997
server 17.171.4.35, stratum 2, offset 0.083987, delay 0.08278
server 17.171.4.36, stratum 2, offset 0.084382, delay 0.08028
server 17.171.4.37, stratum 2, offset 0.085948, delay 0.07831
server 17.151.16.14, stratum 2, offset 0.082043, delay 0.11270
19 Jan 12:09:32 ntpdate[4592]: adjust time server 17.171.4.15 offset 0.086343 sec
Mac:~ me$ ntpq
ntpq> assoc

ind assid status  conf reach auth condition  last_event cnt
===========================================================
  1 57788  9014   yes   yes  none    reject   reachable  1
ntpq> peer
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 time.apple.com  17.168.198.148   2 u  729  512    1  133.274   51.653 371.362
ntpq> q

Lo siguiente que hay que comprobar es el programa de marcapasos:

Mac:~ me$ ps -ef|grep [p]acemaker
0    76     1   0 Fri08AM ??         0:03.64 /usr/libexec/pacemaker -b -e 0.0001 -a 10

Esto muestra que en la batería, el intervalo de ajuste no es más de una vez cada 10 segundos y se ajusta aún menos si el error del reloj es menor de 0,1 milisegundo.

Si encuentra que su desviación es de segundos o más, tal vez quiera cambiar los servidores de tiempo que usa o tal vez cambiar los valores usados en el marcapasos para usar más energía y CPU pero tener un reloj más cercano al tiempo real a cambio de los ajustes que Apple ha enviado con 10.9.

5voto

klanomath Puntos 19587

A partir de High Sierra el demonio del sistema ntpd fue reemplazado por el demonio del sistema timed que invoca /usr/libexec/timed.

La mejor ejecución que he encontrado para obtener detalles es systemsetup (ejecutado como Root) con sus diferentes banderas:

[-getusingnetworktime] [-setusingnetworktime on | off]
[-getnetworktimeserver] [-setnetworktimeserver timeserver]

La salida resultante es mucho menos verbosa (= aburrida). Por ejemplo, no hay detalles de T/deriva.

Al parecer, cronometrado utiliza sólo un servidor ntp (el primero de la lista - comprobado con WireShark/LittleSnitch) incluso si se introducen varios en el archivo de preferencias del sistema/ntp.conf.

Otras lecturas (no muy técnicas): ¿Alguien tiene tiempo? Cómo High Sierra ha cambiado la sincronización horaria


Un demonio ntpd heredado sigue presente pero descargado. Sin embargo, se puede cargar entrando en Terminal.app:

sudo launchctl load [-F|-w] /System/Library/LaunchDaemons/org.ntp.ntpd-legacy.plist

en modo SIP deshabilitado. Entrando en ntpq -p volverá a funcionar entonces.

Para cargar el demonio en modo SIP activado, copie el archivo en /Library/LaunchDaemons/:

sudo cp /System/Library/LaunchDaemons/org.ntp.ntpd-legacy.plist /Library/LaunchDaemons/org.ntp.ntpd.plist

Modifique la etiqueta del plist con nano u otro editor de org.ntp.ntpd-legacy a org.ntp.ntpd:

sudo nano /Library/LaunchDaemons/org.ntp.ntpd.plist

Carga el demonio:

sudo launchctl load -w /Library/LaunchDaemons/org.ntp.ntpd.plist

Si encuentro una mejor ejecución para obtener detalles de tiempo con el demonio predeterminado de High Sierra la respuesta será actualizada.

1 votos

El consejo de habilitar el viejo ntpd no es una buena opción cuando se usa High Sierra, porque /System/Library/LaunchDaemons/org.ntp.ntpd-legacy.plist está deshabilitado y "asegurado" con SIP. Así que si no quieres cargarlo tienes que desactivar SIP primero. (/usr/bin/csrutil disable)

3voto

cabo Puntos 131

Para obtener una respuesta fiable sobre el estado de su reloj, ejecute ntpdate en modo de depuración:

ntpdate -d pool.ntp.org

Esto girará durante un tiempo y terminará en una línea como

 1 Apr 17:38:16 ntpdate[4711]: adjust time server 123.45.67.89 offset 0.000810 sec

En este caso, esto significaba decir que mi reloj local estaba desviado unos 810 µs (lo que sería espectacular, si realmente fuera cierto, pero el valor muy por debajo de 100 ms indica una sincronización que funciona).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X