Làm cách nào tôi có thể giữ đồng hồ hệ thống của mình đồng bộ hóa dưới Mavericks?


22

Tôi có một iMac giữa năm 2011 "chạy Mavericks (10.9.1). Tôi đã cập nhật từ Mountain Lion vào mùa thu này khi Mavericks được phát hành. Tôi chưa bao giờ gặp vấn đề gì với đồng hồ hệ thống của mình.

Kể từ khi cài đặt Mavericks, đồng hồ của tôi liên tục tăng khoảng 20 giây mỗi ngày. Tôi đã đặt đúng múi giờ của mình và "Đặt ngày và giờ tự động" được chọn trong tùy chọn hệ thống Ngày & Giờ của tôi. Nó được đặt để sử dụng "Apple / Châu Mỹ / Mỹ (time.apple.com)"

Khi tôi mở ngăn Tùy chọn hệ thống Ngày & Giờ, đồng hồ của tôi sẽ được điều chỉnh ngay lập tức theo thời gian chính xác, nhưng không mở ngăn, nó sẽ bị tắt theo dõi khá nhanh.

Tôi đã khởi động lại, kiểm tra và bỏ chọn hộp để tự động đặt ngày và giờ và dường như không có ích gì.

Bất kỳ giải pháp hoặc ý tưởng?


CẬP NHẬT:

Tôi đã làm những gì cảm thấy như tiến bộ. Câu hỏi: Làm thế nào tôi có thể biết nếu máy mac của tôi giữ đồng hồ được cập nhật đúng cách? và câu trả lời được chấp nhận bởi grgarside đã cung cấp rất nhiều trợ giúp khắc phục sự cố hữu ích. Sự trôi dạt của tôi là một con số khổng lồ 499.988 (tăng 43,19 giây mỗi ngày)!

Quan trọng nhất, máy điều hòa nhịp tim đang chạy cứ sau 5 - 15 giây, bằng chứng là nhật ký gốc của tôi, tuy nhiên, mỗi lần chạy nó đều gặp lỗi:

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

Có vẻ như tôi có một vấn đề về sự cho phép, nhưng tôi không thể tìm ra nó. Tôi đã dỡ và tải lại máy tạo nhịp tim xin vui lòng thông qua launchctl

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

đây là bản xuất văn bản của com.apple.pacemaker.plist của tôi

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

Tệp /private/var/db/ntp.drift của tôi được sở hữu bởi root: wheel và các quyền của nó là 644, / System / L Library / LaunchDaemons / com.apple.pacemaker.plist có quyền sở hữu và quyền chính xác như nhau.

Tôi hy vọng bản cập nhật này cung cấp đủ thông tin bổ sung để ai đó có thể giúp tôi vượt qua vấn đề này.


2
Tôi chưa bao giờ tắt hệ thống như bạn mô tả, nhưng một người khác ở đây cần phải chọn một máy chủ thời gian khác (châu Á nếu bạn sử dụng ở Mỹ hiện tại) và sau đó quay lại để cài đặt.
bmike

Tôi đoán rằng có gì đó không ổn với DNS hoặc hostfile của bạn. Bạn đã sửa đổi cài đặt mạng và tùy chọn của mình theo bất kỳ cách nào? Không chỉ dưới 10.9 mà là 10.8? Tôi sẽ thử thay đổi từ time.apple.com thành một trong các URL của pool.ntp.org/vi .
Andrew U.

1
@AndrewU. Nhận xét của bạn không giải thích cho thực tế là thời gian rõ ràng đồng bộ hóa chính xác khi tôi mở khung pref
Scott

1
@bmike Tôi đang thử cái này, tôi chưa quay lại iMac để kiểm tra mọi thứ. Cảm ơn, Scott
Scott

1
Tôi đang có cùng một vấn đề - đồng hồ trôi nhanh vài phút một tuần, nhưng ngay lập tức đồng bộ hóa đúng cách khi tôi mở bảng tùy chọn đồng hồ. Tôi nhận thấy lỗi "adjtime: Thao tác không được phép" có thể được loại bỏ khi bạn chạy máy điều hòa nhịp tim trên dòng lệnh thông qua sudo: sudo / usr / libexec / pacemaker -v Nhưng đó không thực sự là một giải pháp, chỉ có thể là một gợi ý về những gì có thể xảy ra sai phía sau hậu trường.
Brian Stormont

Câu trả lời:


22

những thứ này có vẻ hoạt động tốt trên iMac của tôi, chạy Mountain Lion:

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

chỉ cần sao chép / dán dòng được phân tách bằng dấu cách ở trên vào trường 'Đặt ngày và giờ tự động', trong tùy chọn Ngày & Giờ. nhớ nhấn Enter sau khi gõ tên máy chủ ntp, để ntp.conf được cập nhật.


Tôi không hiểu tại sao điều này làm việc, nhưng nó đã làm việc!
Scott

Ở Yosemite, điều này đã trở thành một thả xuống mà dường như không thích chỉnh sửa (mặc dù nó có vẻ như bạn có thể chỉnh sửa nó ...) :(
RedYeti

Bạn vẫn có thể chỉnh sửa trong Yosemite (Tôi vừa mới làm!). Nếu bạn chọn thả xuống và nhấn phím Xoá, bạn sẽ thấy văn bản biến mất. Bạn không thể sử dụng cmd + v để dán, nhưng nhấp chuột phụ cung cấp cho bạn tùy chọn dán trong menu.
Ryan Dlugosz

3

Nppd của Maverisks bị phá vỡ, đập vỡ, tham nhũng. Apple biết về điều này: Tôi đã dành hàng giờ trên điện thoại cho họ, cung cấp cho họ các mẫu và tệp galore. Nó có thể là một sự chuyển đổi từ iOS ("Back to the Mac" cho dù nó có thực sự hoạt động hay không). Thủ phạm dường như là một người mới với Maverisks daemon gọi là "máy tạo nhịp tim", theo kiểu cổ điển của Apple được ghi chép lại và dường như không hành xử theo những tài liệu nhỏ có.


Có một cuộc thảo luận về vấn đề này lenghty đây: discussions.apple.com/thread/5604114
shrx

Hãy xem ChronyControl của Bryan Christianson (Bryan cũng đứng sau WhatRoute). Nó mang lại sự tỉnh táo cho việc chấm công ntp bằng Mojave v10.14.4.
bên ngoài

2

Trước khi thực hiện cài đặt mới, tôi thực sự khuyên bạn nên thử đặt lại NVRAM (RAM không bay hơi).

Một NVRAM (hoặc PRAM trên các máy Mac cũ, dựa trên PowerPC) lưu trữ một số cài đặt nhất định. Đó là một loại bộ nhớ như RAM thông thường trong máy Mac của bạn, nhưng có một điểm khác biệt lớn là NVRAM lưu trữ những gì trên đó ngay cả khi máy Mac của bạn bị tắt.

Cụ thể, thông tin được lưu trữ trong NVRAM / PRAM bao gồm:

  • Âm lượng loa
  • Cài đặt múi giờ
  • Độ phân giải màn hình
  • Lựa chọn đĩa khởi động
  • Nhân hoảng loạn gần đây, nếu có

Có thể, những gì được lưu trữ trên NVRAM của bạn về thời gian của bạn đã bị hỏng bằng cách nào đó và bây giờ gây ra sự cố của bạn.

Bây giờ, bạn có thể hỏi, còn việc đồng bộ hóa thời gian với máy chủ thì sao? Tôi cần cái đó để làm gì? Chà, nó chỉ để thiết lập thời gian của bạn thay vì bạn làm nó bằng tay. Chỉ cần một cử chỉ nhỏ; chỉ có bấy nhiêu thôi. Sau khi được đặt, nó sẽ được lưu trên NVRAM của bạn như bình thường.

Và thời gian của bạn được điều chỉnh mỗi khi bạn mở Tùy chọn Ngày & Giờ vì có thể mở ở đó sẽ bắt đầu đồng bộ hóa thủ công thời gian của bạn với máy chủ. Nhưng sau đó mọi thứ lại trở nên rắc rối.

Dù sao, để thiết lập lại NVRAM của bạn:

  • Tắt máy Mac của bạn.
  • Xác định vị trí các phím sau trên bàn phím: Command (⌘) , Lựa chọn , PR . Bạn sẽ cần phải giữ các phím này đồng thời trong bước 4.
  • Mở máy tính.
  • Bấm và giữ các phím Command-Option-PR trước khi màn hình màu xám xuất hiện.
  • Giữ phím xuống cho đến khi máy tính khởi động lại và bạn nghe thấy âm thanh khởi động lần thứ hai.
  • Thả chìa khóa ra.

Nguồn: Apple


1
Tôi có thể thấy việc đặt lại NVRAM xóa múi giờ không chính xác, nhưng theo như nó ảnh hưởng đến việc chấm công và khả năng của ntpd để giữ cho đồng hồ không bị chuyển hướng khỏi các nguồn internet - có rất nhiều liên kết bị thiếu giữa những gì được lưu trữ trong NVRAM và cách đặt thời gian. Đặc biệt là khi hệ thống tắt và tự sửa trong khi chạy bằng cách mở ngăn tùy chọn hệ thống. Bạn có nghĩ rằng nó đang bị rối khi khởi động có lẽ?
bmike

2

Bạn có thể ntpdatethông qua launchd.

Tôi đã ghép các mảnh lại với nhau tại https://github.com/tjluoma/ntp-fix-time nhưng tôi sẽ bao gồm các bit có liên quan ở đây:

  1. Một danh sách launchdđi vào / Library / LaunchDaemons / (vì nó cần được chạy như rootkhi nó chạy)

  2. Một kịch bản shell gọi ntpdate -u $NTPHOSTvà ghi nhật ký đầu ra của nó.

Vì một số lý do, cố gắng gọi ntpdatetrực tiếp qua launchdkhông có tác dụng với tôi, nhưng gọi nó qua một kịch bản dường như có hiệu quả.

Việc plistsử dụng này:

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

để đảm bảo nó chạy khi Mac được khởi động lại.

Điều này:

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

đảm bảo rằng nó chạy cứ sau 4 giờ, có vẻ như nó thường là đủ.

Tập lệnh sẽ sử dụng các máy chủ được liệt kê trong /etc/ntp.conf trừ khi không có, trong trường hợp đó nó sẽ sử dụng time.apple.com.

( manTrang cho ntpdategợi ý rằng cuối cùng nó sẽ 'nghỉ hưu' từ Mac OS X nhưng nó vẫn ở đó trong 10.9.1, vì vậy điều đó là quá đủ đối với tôi.)


Điều này có vẻ như nó sẽ hoạt động - mặc dù tôi bối rối tại sao nó lại cần thiết và nếu có vấn đề hệ thống khác mà tôi không biết.
Scott

1
FYI - Tôi không phải là người thích dựa vào biến PATH trong các công việc LaunchDaemons hoặc cron. Tôi đã bị đốt cháy quá nhiều lần, tôi nghĩ rằng đó là cách thực hành tốt hơn nhiều để sử dụng con đường hoàn chỉnh. Trong trường hợp LaunchDaemons, bạn có thể chỉ định WorkDirectory, nếu được sử dụng, sẽ loại bỏ yêu cầu chỉ định đường dẫn đầy đủ.
Scott

1

Vì vậy, tôi đã không thành công trong việc loại bỏ sự trôi dạt của đồng hồ. Bởi vì đồng hồ của tôi trôi chậm (ít hơn một phút mỗi ngày) Phải mất một lúc để xem giải pháp đã thử có hoạt động không.

Tôi vừa mới thử một biến thể câu trả lời của Patrix từ bài đăng này . Tiếng vang không hoạt động trên dòng lệnh, tôi đã bị "từ chối cấp phép" (Câu trả lời của anh ấy là tham chiếu cài đặt Lion). Nhưng tôi đã loại bỏ tập tin cũ và thay thế nó bằng một tập tin mới mà tôi đã chỉnh sửa bằng nano.

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

trong tập tin tôi chỉ cần đặt

server time.apple.com

không có dấu vết. hoặc dòng mới. Sau đó tôi đã thoát nano (ctrl-X) và trả lời có để lưu các thay đổi.

Tôi không cần thay đổi chủ sở hữu vì nó đã được sở hữu bởi root: wheel.

Tôi sẽ cập nhật khi tôi biết nếu điều này làm việc.


1
Điều này đã không làm việc
Scott

2
Tại sao bạn chạm vào nó trước khi bạn thay đổi nó?
Tối đa

0

Tôi muốn cung cấp hai xu của tôi về vấn đề này. Tôi đã có một vấn đề tương tự. Đồng hồ của tôi sẽ chậm một giờ và điều làm việc cho tôi là bỏ chọn tự động Đặt múi giờ bằng cách sử dụng vị trí hiện tại và chỉ cần chọn thủ công thành phố gần nhất. Sẽ không đau khi thử nó và xem liệu nó có làm nên sự khác biệt không.


0

Như đã được thảo luận ở nơi khác, sự trôi dạt của đồng hồ là do ntpd không hoạt động và một cái gì đó được gọi là / usr / libexec / pacemaker cũng không hoạt động đúng. Vô hiệu hóa máy điều hòa nhịp tim và chạy ntpdate để xoay đồng hồ đã giúp đồng hồ ổn định hợp lý trên hệ thống của tôi, với những thay đổi hệ thống tối thiểu.

Từ Terminal, chạy các lệnh này theo thứ tự.

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

Sau đó khởi động lại hệ thống.

Hai lệnh đầu tiên vô hiệu hóa máy điều hòa nhịp tim bằng cách di chuyển tệp cấu hình launchd của nó ra khỏi đường đi. Ba lệnh cuối cùng báo cho cron daemon hệ thống chạy ntpdate cứ năm phút một lần, làm chậm hoặc tăng tốc đồng hồ khi cần và ghi nhật ký những gì nó làm /var/log/system.log.


-2

Nếu bạn gọi cho Apple, họ sẽ đề nghị bạn thực hiện cài đặt lại bảo quản hệ điều hành.

Tôi đoán là bạn có một sở thích bị hỏng. Bạn có thể thử thay đổi mọi cài đặt trong bảng ưu tiên Ngày và Giờ thành một thứ khác, khởi động lại, sau đó đặt nó thành những gì bạn muốn. Nếu điều đó không hoạt động, hãy vào thư mục Tùy chọn và xóa bất kỳ nội dung ưu tiên nào có liên quan đến Ngày và Giờ Tùy chọn.


Cài đặt lại? NGÔI SAO! Đó là lý do tại sao tôi rời Windows năm trước. Chắc chắn hợp lý, những người thông minh có thể tìm thấy một giải pháp tốt hơn là cài đặt lại một hệ điều hành.
Scott

Và theo như cách đi tới bản mẫu Tùy chọn và xóa các liên kết phải làm với Ngày và Giờ. Tôi thấy rằng khuyến nghị không đầy đủ và nguy hiểm. Nếu đó là nghiêm túc lời khuyên của bạn, bạn nên A) cung cấp vị trí của thư mục. Và B) khuyên người dùng di chuyển các tệp ở nơi khác (có lẽ là máy tính để bàn) thay vì xóa chúng. Nhiều người, ở nhiều cấp độ kinh nghiệm, sẽ đọc câu hỏi này.
Scott

Tôi tập hợp rằng bạn đã không được gọi là hỗ trợ công nghệ của Apple gần đây. Cài đặt lại OSX là một hoạt động khá đau đớn. Tất cả các ứng dụng của bạn vẫn được cài đặt, tất cả người dùng của bạn vẫn hiện diện.
vy32

Được gọi là Apple ngày hôm qua. 3 giờ trên điện thoại. Sau đó cài đặt lại hệ điều hành 4 giờ (qua internet nhanh vào ổ SSD). Sau đó, 2 giờ điều chỉnh các tệp cấu hình (apache, v.v.) đã bị hệ điều hành cài đặt lại. Và sau tất cả những điều đó - MY CLOCK VẪN DRIFTS. Thậm chí không gần với đau đớn và vấn đề không được khắc phục.
Scott
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.