Saya memiliki apa yang saya yakini sebagai file sistem, /etc/cron.daily/ntpupdate
yang berjalan
ntpdate ntp.ubuntu.com
setiap hari untuk menyinkronkan dengan waktu jaringan. Setiap hari ia menghasilkan keluaran yang sangat mirip dengan ini:
/etc/cron.daily/ntpupdate:
16 Jan 06:30:42 ntpdate[21446]:
step time server 91.189.94.4 offset -12.646804 sec
Saya tidak yakin apa 91.189.94.4
artinya tapi saya cukup yakin -12.646804 sec
berarti server saya mati sekitar 12 detik. Tapi saya tidak tahu mengapa jumlah ini sama dengan jumlah yang sama setiap hari. Ini adalah instance Amazon EC2 yang menjalankan Ubuntu.
Saya hanya bisa menebak bahwa kehilangan / mendapatkan 12 detik per hari, atau sesuatu yang lain sedang menyinkronkan waktu dengan jam lain yang mati oleh 12 detik dan kemudian saya menyinkronkannya kembali.
Apa yang harus saya lakukan untuk mencoba dan melacak ini lebih jauh? Saya tidak melihat pekerjaan cron lain di /etc/cron.*
direktori atau di pekerjaan cron pengguna ...
MEMPERBARUI
Saya pikir saya akan membagikan bahwa saya mulai berlari setiap jam untuk melihat apakah akan ada lompatan besar pada jam tertentu. Inilah yang dimaksud dengan output per jam:
16 Jan 15:17:04 ntpdate[8346]:
adjust time server 91.189.94.4 offset -0.464418 sec
Jadi ternyata setiap jam jamnya mati sekitar setengah detik, jadi masuk akal bahwa setiap hari (24 jam) jamnya akan mati sekitar 12 detik. Kira jamnya hanya berlari kencang! Terima kasih!
Jawaban:
Ada sejumlah faktor yang mungkin membuat jam perangkat lunak berjalan lambat atau cepat. Jam pada server virtual sangat rentan terhadap seluruh kelas masalah ini. 12 detik sehari sangat buruk sampai Anda menemukan kotak virtual dengan jam yang berjalan pada kecepatan 180-200%! Jam pada laptop yang ditangguhkan dapat mengalami masalah waktu juga.
Anda harus mempertimbangkan
ntupdate
untuk menolakntpd
. Nama paket adantp
di Debian (dan mungkin juga Ubuntu). Daemon NTP membuat waktu Anda dalam sinkronisasi jauh lebih proaktif daripada pekerjaan cron, menyinkronkan dengan satu atau lebih server NTP lainnya dan menjaga jam Anda jauh lebih akurat. Ini implementasi lain dari penggunaan protokol yang samantpdate
, kecualintpd
memonitor waktu secara terus menerus.Jika Anda tidak ingin overhead (sangat kecil)
ntpd
, Anda dapat mempertimbangkan untuk berlarintpdate
sekali dalam satu jam. Dengan asumsi Anda mendapat diskon 0,5 setiap jam, itu sudah cukup.sumber
CONFIG_NO_HZ
diaktifkan.Menjawab setengah dari pertanyaan Anda, tentang mengapa hal ini terjadi: Jam perangkat keras komputer sangat tidak akurat, jadi meskipun penyimpangan 12 detik dalam sehari adalah tidak biasa, itu tidak terlalu aneh.
(Ini mungkin karena prevalensi penggunaan waktu jaringan, sehingga penyimpangan bahkan 12 detik sehari adalah gangguan kecil dibandingkan dengan apa yang akan ada di arloji - dan dengan demikian perusahaan perangkat keras dapat menggunakan chip jam murah. Secara fisik, apa yang terjadi mungkin karena osilator di chip jam Anda tidak dikalibrasi dengan benar, sehingga osilator berjalan agak-tapi-andal lambat.)
sumber
Saya menduga bahwa ntp tidak memperbarui waktu server Anda karena perbedaannya terlalu kecil. Saya memiliki masalah yang sama, saya melihat penundaan yang sama setiap hari, sampai saya menemukan bahwa sedikit perbedaan ntp tidak akan diperbarui hingga ambang tertentu hadir.
Periksa konfigurasi Anda untuk ambang minimum untuk sinkronisasi.
sumber