Bagaimana cara saya menjaga jam sistem saya tetap sinkron di bawah Mavericks?

22

Saya memiliki pertengahan 2011 27 "iMac menjalankan Mavericks (10.9.1). Saya memperbarui dari Mountain Lion musim gugur ini ketika Mavericks dirilis. Saya tidak pernah punya masalah sebelumnya dengan jam sistem saya.

Sejak memasang Mavericks, jam saya secara konsisten bertambah sekitar 20 detik per hari. Saya mengatur Zona Waktu dengan benar dan "Setel Tanggal dan Waktu Secara Otomatis" dicentang di preferensi sistem Tanggal & Waktu saya. Sudah diatur untuk menggunakan "Apple / Amerika / AS (time.apple.com)"

Ketika saya membuka panel Preferensi Sistem Tanggal & Waktu, jam saya akan segera disesuaikan dengan waktu yang tepat, tetapi tanpa membuka panel, ia keluar jalur dengan cukup cepat.

Saya telah mem-boot ulang, mencentang, dan menghapus centang pada kotak untuk mengatur tanggal dan waktu secara otomatis dan sepertinya tidak ada yang membantu.

Ada solusi atau ide?


MEMPERBARUI:

Saya telah membuat apa yang terasa seperti kemajuan. Pertanyaan: Bagaimana saya bisa tahu apakah mac saya menjaga jam diperbarui dengan benar? dan jawaban yang diterima oleh grgarside memberikan banyak bantuan pemecahan masalah yang bermanfaat. Drift saya adalah kekalahan 499.988 (keuntungan 43,19 detik per hari)!

Yang paling penting, alat pacu jantung berjalan setiap 5 - 15 detik, seperti yang dibuktikan oleh batang log saya, namun, setiap kali ia menjalankannya mendapat kesalahan:

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

Sepertinya saya memiliki masalah izin, tetapi saya tidak bisa mengetahuinya. Saya telah membongkar dan memuat kembali alat pacu jantung, plsit via launchctl

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.pacemaker.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.pacemaker.plist

di sini adalah ekspor teks dari com.apple.pacemaker.plist saya

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

File /private/var/db/ntp.drift saya dimiliki oleh root: wheel dan izinnya adalah 644, /System/Library/LaunchDaemons/com.apple.pacemaker.plist memiliki kepemilikan dan izin yang persis sama.

Saya harap pembaruan ini memberikan informasi tambahan yang cukup sehingga seseorang dapat mengatasi masalah ini bagi saya.

Scott
sumber
2
Saya tidak pernah memiliki sistem mati seperti yang Anda gambarkan, tetapi orang lain di sini perlu memilih server waktu yang berbeda (asia jika Anda menggunakan AS saat ini) dan kemudian beralih kembali untuk mendapatkan pengaturan tetap.
bmike
Saya kira ada sesuatu yang salah dengan DNS atau hostfile Anda. Sudahkah Anda mengubah pengaturan dan preferensi jaringan dengan cara apa pun? Tidak hanya di bawah 10,9 tetapi 10,8? Saya akan mencoba mengubah dari time.apple.com ke salah satu URL pool.ntp.org/en .
Andrew U.
1
@AndrewU. Komentar Anda gagal menjelaskan fakta bahwa waktu tampaknya disinkronkan dengan benar ketika saya membuka panel preferensi
Scott
1
@bmike saya mencoba ini, hanya belum kembali ke iMac untuk memeriksa semuanya. Terima kasih, Scott
Scott
1
Saya memiliki masalah yang sama persis - jam melayang beberapa menit seminggu, tetapi segera disinkronkan dengan benar ketika saya membuka panel preferensi jam. Saya perhatikan kesalahan "adjtime: Operation not allow" dapat dihilangkan jika Anda menjalankan alat pacu jantung pada baris perintah melalui sudo: sudo / usr / libexec / pacemaker -v Tapi itu bukan solusi, mungkin saja petunjuk apa yang mungkin terjadi salah di belakang layar.
Brian Stormont

Jawaban:

22

ini tampaknya berfungsi baik di iMac saya, menjalankan Mountain Lion:

0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org time.apple.com

cukup salin / tempelkan baris yang dipisahkan spasi di atas ke dalam bidang 'Tetapkan tanggal dan waktu secara otomatis', di preferensi Tanggal & Waktu. ingatlah untuk menekan Enter setelah mengetikkan nama server ntp, sehingga ntp.conf diperbarui.

pengguna1082
sumber
Saya tidak mengerti mengapa ini berhasil, tetapi berhasil!
Scott
Di Yosemite ini telah menjadi drop down yang sepertinya tidak suka diedit (meskipun agak agak seperti Anda dapat mengeditnya ...) :(
RedYeti
Anda masih dapat mengedit di Yosemite (saya baru saja melakukannya!). Jika Anda memilih dropdown dan menekan tombol Delete, Anda akan melihat teks menghilang. Anda tidak dapat menggunakan cmd + v untuk menempel, tetapi klik kedua memberi Anda opsi tempel di menu.
Ryan Dlugosz
3

Ntpd Maverisks rusak, hancur, korup. Apple tahu tentang ini: Saya telah menghabiskan berjam-jam di telepon kepada mereka, memberikan mereka sampel dan banyak file. Ini mungkin merupakan carry over dari iOS ("Kembali ke Mac" apakah itu benar-benar berfungsi). Pelakunya tampaknya baru dengan daemon Maverisks yang disebut "alat pacu jantung", yang dalam mode Apple klasik sedang didokumentasikan dan tampaknya tidak berperilaku sesuai dengan sedikit dokumentasi yang ada.

luar
sumber
Ada diskusi panjang tentang ini di sini: diskusi.apple.com/thread/5604114
shrx
Lihat Bryan Christianson's ChronyControl (Bryan juga ada di belakang WhatRoute). Ini membawa beberapa kewarasan kembali ke pengaturan waktu ntp menggunakan Mojave v10.14.4.
luar
2

Sebelum melakukan instalasi baru, saya sangat menyarankan Anda untuk mengatur ulang NVRAM Anda (RAM non-volatile).

NVRAM (atau PRAM pada Mac lama, berbasis PowerPC) menyimpan pengaturan tertentu. Ini semacam memori seperti RAM biasa di Mac Anda, tetapi dengan satu perbedaan utama adalah NVRAM menyimpan apa yang ada di dalamnya walaupun Mac Anda dimatikan.

Secara khusus, informasi yang disimpan dalam NVRAM / PRAM termasuk:

  • Volume pengeras suara
  • Pengaturan zona waktu
  • Resolusi layar
  • Pemilihan disk pembuka
  • Panik kernel terbaru, jika ada

Mungkin, apa yang disimpan di NVRAM tentang waktu Anda rusak entah bagaimana dan sekarang menyebabkan masalah Anda.

Sekarang, Anda mungkin bertanya, bagaimana dengan sinkronisasi waktu dengan server? Untuk apa saya membutuhkannya? Yah, itu hanya untuk mengatur waktu Anda, bukan Anda melakukannya secara manual. Hanya sedikit gerakan; tidak ada lagi. Setelah diatur maka disimpan di NVRAM Anda seperti biasa.

Dan waktu Anda akan dikoreksi setiap kali Anda membuka Preferensi Tanggal & Waktu Anda karena mungkin membuka di sana memulai sinkronisasi manual waktu Anda dengan server. Tapi setelah itu segalanya menjadi berantakan lagi.

Bagaimanapun, untuk mengatur ulang NVRAM Anda:

  • Matikan Mac Anda.
  • Cari kunci berikut pada keyboard: Command (⌘) , Option , P , dan R . Anda harus menahan tombol-tombol ini secara bersamaan di langkah 4.
  • Nyalakan komputer.
  • Tekan dan tahan tombol Command-Option-PR sebelum layar abu-abu muncul.
  • Tahan tombol sampai komputer dinyalakan kembali dan Anda mendengar suara startup untuk kedua kalinya.
  • Lepaskan kuncinya.

Sumber: Apple

Bisakah Sürmeli
sumber
1
Saya bisa melihat pengaturan ulang NVRAM menghapus zona waktu yang salah, tetapi sejauh itu mempengaruhi ketepatan waktu dan kemampuan ntpd untuk menjaga jam agar tidak menyimpang dari sumber internet - ada banyak tautan yang hilang antara apa yang disimpan dalam NVRAM dan bagaimana waktu ditetapkan. Terutama karena sistem padam dan mengoreksi diri sendiri saat berjalan dengan membuka panel preferensi sistem. Apakah Anda berpikir itu mungkin kacau pada saat boot mungkin?
bmike
2

Anda dapat ntpdatemelalui launchd.

Saya telah mengumpulkannya di https://github.com/tjluoma/ntp-fix-time tetapi saya akan menyertakan bit yang relevan di sini:

  1. Sebuah launchdplist yang masuk ke / Library / LaunchDaemons / (karena itu perlu dijalankan sebagai rootketika berjalan)

  2. Skrip shell yang memanggil ntpdate -u $NTPHOSTdan mencatat hasilnya.

Untuk beberapa alasan, mencoba menelepon ntpdatesecara langsung launchdtidak berhasil untuk saya, tetapi memanggilnya melalui skrip tampaknya berhasil.

The plistmenggunakan ini:

    <key>RunAtLoad</key>
    <true/>

untuk memastikan itu berjalan ketika Mac reboot.

Ini:

    <key>StartInterval</key>
    <integer>14400</integer>

memastikan bahwa itu berjalan setiap 4 jam, yang sepertinya "cukup sering."

Script akan menggunakan server yang terdaftar di /etc/ntp.conf kecuali tidak ada, dalam hal ini akan digunakan time.apple.com.

( manHalaman untuk ntpdatemenunjukkan bahwa itu pada akhirnya akan 'pensiun' dari Mac OS X tetapi masih ada di 10.9.1, jadi itu sudah cukup bagi saya.)

TJ Luoma
sumber
Sepertinya ini akan berhasil - walaupun saya bingung mengapa itu perlu dan jika ada masalah sistem lain yang tidak saya sadari.
Scott
1
FYI - Saya bukan penggemar bergantung pada variabel PATH baik di LaunchDaemons atau pekerjaan cron. Saya sudah terlalu sering dibakar, saya pikir ini adalah praktik yang jauh lebih baik untuk menggunakan jalur lengkap. Dalam hal LaunchDaemons, Anda dapat menentukan Direktori Kerja yang, jika digunakan, menghilangkan kebutuhan untuk menentukan jalur lengkap.
Scott
1

Sejauh ini saya tidak berhasil menghilangkan penyimpangan jam. Karena jam saya melayang perlahan (kurang dari satu menit per hari) Butuh beberapa saat untuk melihat apakah solusi yang dicoba berfungsi.

Saya baru saja mencoba variasi jawaban Patrix dari pos ini . Gema tidak bekerja pada baris perintah, saya mendapat "izin ditolak" (Jawabannya merujuk pada instalasi Lion). Tapi saya memang menghapus file lama dan menggantinya dengan yang baru yang saya edit dengan nano.

sudo rm /etc/ntp.conf
sudo touch /etc/ntp.conf
sudo nano /etc/ntp.conf

dalam file saya hanya ditempatkan

server time.apple.com

tidak tertinggal. atau baris baru. Saya kemudian keluar dari nano (ctrl-X) dan menjawab ya untuk menyimpan perubahan.

Saya tidak perlu mengganti pemilik karena sudah dimiliki oleh root: wheel.

Saya akan memperbarui ketika saya tahu jika ini berhasil.

Scott
sumber
1
Ini tidak berhasil
Scott
2
Mengapa Anda menyentuhnya sebelum mengubahnya?
Max Ried
0

Saya ingin memberikan dua sen untuk masalah ini. Saya punya masalah serupa. Jam saya akan menjadi satu jam di belakang dan yang berhasil bagi saya adalah menghapus centang pada zona waktu Tetapkan secara otomatis menggunakan lokasi saat ini, dan hanya secara manual memilih kota terdekat. Tidak ada salahnya mencoba dan melihat apakah ada bedanya.

lovesimac
sumber
0

Seperti yang telah dibahas di tempat lain, penyimpangan jam disebabkan ntpd tidak berfungsi dan sesuatu yang disebut / usr / libexec / alat pacu jantung tidak berfungsi dengan benar. Menonaktifkan alat pacu jantung dan menjalankan ntpdate untuk memperlambat jam telah membuat jam cukup stabil di sistem saya, dengan perubahan sistem minimal.

Dari Terminal, jalankan perintah ini secara berurutan.

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

Kemudian restart sistem.

Dua perintah pertama menonaktifkan alat pacu jantung dengan memindahkan file konfigurasi launchd-nya keluar dari jalan. Tiga perintah terakhir memberitahu daemon cron sistem untuk menjalankan ntpdate setiap lima menit, memperlambat atau mempercepat jam sesuai kebutuhan, dan mencatat apa yang dilakukannya pada /var/log/system.log.

Kyle Jones
sumber
-2

Jika Anda memanggil Apple, mereka akan menyarankan Anda menginstal ulang dengan mempertahankan sistem operasi.

Dugaan saya adalah Anda memiliki preferensi yang rusak. Anda dapat mencoba mengubah setiap pengaturan di panel preferensi Tanggal dan Waktu ke sesuatu yang lain, reboot, lalu atur sesuai keinginan Anda. Jika itu tidak berhasil masuk ke direktori Preferensi dan hapus daftar preferensi apa pun yang ada hubungannya dengan Tanggal dan Waktu Preferensi.

ay32
sumber
Pasang kembali? HOROR! Itu sebabnya saya meninggalkan Windows tahun lalu. Orang yang cerdas dan masuk akal tentu saja dapat menemukan solusi yang lebih baik daripada menginstal ulang OS.
Scott
Dan sejauh Going to the Preferences mengarahkan dan menghapus plists yang ada hubungannya dengan Tanggal dan Waktu. Saya menemukan rekomendasi itu tidak lengkap dan berbahaya. Jika itu serius saran Anda, Anda harus A) memberikan lokasi folder. Dan B) menyarankan pengguna untuk memindahkan file di tempat lain (mungkin desktop) daripada menghapusnya. Banyak orang, dari berbagai tingkat pengalaman, akan membaca pertanyaan ini.
Scott
Saya yakin Anda belum menelepon dukungan teknis Apple belakangan ini. Menginstal ulang OSX adalah operasi yang sangat tidak menyakitkan. Semua aplikasi Anda tetap terpasang, semua pengguna Anda tetap ada.
vy32
Disebut Apple kemarin. 3 jam di telepon. Kemudian menginstal ulang OS selama 4 jam (melalui internet cepat ke SSD). Kemudian 2 jam men-tweak file konfigurasi (apache, dll) yang musnah oleh OS instal ulang. Dan setelah semua itu - SAYA SAHAM JAM SAYA. Bahkan tidak mendekati tanpa rasa sakit dan masalahnya tidak diperbaiki.
Scott