Ketika program terkait waktu tertentu (seperti ntpd
) berjalan pada sistem Linux, kernel akan beralih ke apa yang disebut "mode sebelas menit" (lihat hwclock
halaman manual) di mana ia akan secara otomatis memperbarui jam perangkat keras dari jam sistem setiap sebelas menit .
Pada SLES11 saya secara empiris menentukan bahwa jika saya mengatur jam perangkat keras menjadi sekitar 10 jam di belakang jam sistem, mode 11 menit sepertinya tidak mampu membuat jam perangkat keras cocok dengan jam sistem. Tetapi jika saya mengatur jam perangkat keras 5 menit di belakang jam sistem, mode 11 menit cocok dengan sempurna.
Jadi ternyata ada beberapa pembaruan maksimum yang dapat ditangani oleh mode 11 menit dan saya ingin tahu apa itu.
Memperbarui:
Ini aneh ...
Eksperimen lebih lanjut menunjukkan bahwa ketika saya memiliki jam HW sekitar 20 menit di belakang jam sistem, mode 11 menit akan mengatur jam HW menjadi tepat 30 menit di belakang jam sistem (!):
# date
Tue Dec 6 10:16:52 EST 2011
# hwclock --set --date "12/6/11 09:56"
#
# date
Tue Dec 6 10:17:16 EST 2011
# hwclock --show
Tue Dec 6 09:56:06 2011 -0.156551 seconds
#
# date
Tue Dec 6 10:23:09 EST 2011
# hwclock --show
Tue Dec 6 10:01:58 2011 -0.535772 seconds
#
# date
Tue Dec 6 10:34:28 EST 2011
# hwclock --show
Tue Dec 6 10:04:27 2011 -0.192025 seconds
Memperbarui:
Saya berlari melintasi ini: https://bugs.archlinux.org/task/27408 yang tidak menyiratkan bahwa baik atau buruk kernel tidak akan memperbarui jam perangkat keras ketika waktu jam perangkat keras terlalu jauh dari waktu jam sistem.
Jawaban:
Dari
hwclock
halaman manual di RHEL 4.6:Jadi berdasarkan kebaikan Anda berlari,
hwclock --set
Anda mungkin mematikannya. Dengan cara yang sama Anda dapat memeriksa outputadjtimex --print
untuk konfirmasi.sumber
hwclock --set
tidak menyentuh waktu sistem. Dan ketika saya melakukanadjtimex --print
itu menegaskan bahwa modus 11-min di atas sejak "64" bit memang off.if((status & (1<<6)) == 0)
mode 11 menit aktif.sync_cmos_clock
fungsiSebenarnya ini tidak ada hubungannya dengan mode sebelas menit di kernel. Ini terkait dengan fitur di ntpd.
Apakah Anda mengetahui batas kewarasan ntp? Jika waktunya terlalu jauh (misalnya 10 jam) ntpd menyerah dan tidak mengacaukan jam. Dalam kasus tersebut, ntpd atau ntpdate harus dijalankan secara manual. Opsi Ntpd dari
-g
harus melakukan itu. Periksa informasi dari halaman manual:http://doc.ntp.org/4.1.0/ntpd.htm
sumber
ntpd
ini sudah dijalankan dengan-g
opsi.Kernel tidak akan menyinkronkan waktu jika dimatikan lebih dari 60 menit ketika dalam mode Eleven Minute. Ini adalah masalah umum di SUSE Enterprise, lihat artikel ini dari Open SUSE untuk lebih jelasnya: https://lists.opensuse.org/opensuse-bugs/2011-06/msg01348.html
sumber