Raspberry Pi ใช้เวลาในการรักษานานแค่ไหน?


17

Raspberry Pi ใช้เวลากับ Raspbian รุ่นล่าสุดได้อย่างไร? ชุดนาฬิกาภายในจากเซิร์ฟเวอร์ NTP คืออะไร จะเกิดอะไรขึ้นเมื่อไม่มีเซิร์ฟเวอร์ NTP ให้ใช้งาน

จากโปรแกรมของฉันฉันพยายามที่จะตรวจสอบว่าเวลาได้รับการตั้งค่าจาก NTP และขอให้ผู้ใช้ตั้งถ้ามันไม่ได้


ความเป็นไปได้ที่ซ้ำกันของการจับเวลาของ Raspberry Pi แม่นยำแค่ไหน?
Piotr Kula

4
ถ้า time.now <มากกว่าปี 2010 - เวลาจะไม่ถูกตั้งค่า คุณไม่จำเป็นต้องรู้อะไรอีกเลย เวลาจะไม่ถูกบันทึกเมื่อปิดเครื่องและจะเป็น 1970 ตามข้อกำหนด UNIX / POSIX หากต้องการทราบว่าเวลาไม่ถูกต้องคุณต้องสอบถาม NTP และเปรียบเทียบเวลาท้องถิ่น คุณไม่สามารถระบุได้ว่าหมดเวลาซิงค์โดยไม่ถามเซิร์ฟเวอร์เวลาหรือไม่
Piotr Kula

4
ถ้า time.now <2010 จะไม่ทำงานเนื่องจาก RPi ตั้งค่าเวลาปัจจุบันจากเวลาปิดเครื่องล่าสุด นี่คือเหตุผลที่ฉันต้องการทราบวิธีการตั้งเวลาเพื่อให้ฉันสามารถปิดการทำงานนี้ได้ถ้าจำเป็น
Guy

pumkin - คำถามนี้เกี่ยวข้องกับการดริฟท์ของนาฬิกาภายในอย่างไร
Guy

1
บางทีชื่อของคำถามนี้ควรเจาะจงมากขึ้นเพื่อหลีกเลี่ยงการซ้อนทับกันระหว่างคำถามเหล่านี้
XTL

คำตอบ:


22

Raspbian มีโซลูชั่นซอฟต์แวร์สองตัวสำหรับการบอกเวลา ตั้งแต่NTPต้องการการเชื่อมต่อเครือข่ายและมันค่อนข้างไร้ประโยชน์ถ้า Raspberry Pi ของคุณไม่ได้เชื่อมต่อกับเครือข่ายก็ยังใช้ปลอม hwclock มันบันทึกนาฬิกาปัจจุบันเป็นระยะและโหลดเมื่อเริ่มต้น

pi@raspberrypi ~ $ cat /etc/fake-hwclock.data 
2012-08-15 03:17:01

สิ่งนี้ไม่ถูกต้องมากนัก แต่จะขจัดปัญหาเวลาเดินทางย้อนกลับไปในปี 1970 หลังจากรีบูตแต่ละครั้ง


เป็นการเดาที่ดี! :-)
Piotr Kula

@ asalamon74: คุณสามารถเพิ่มวิธีการปิดการใช้งานของปลอม -hwclock หรือจะต้องถอนการติดตั้ง?
Guy

2

คุณสามารถบันทึกสถิติ NTP และแยกวิเคราะห์บันทึกจากโปรแกรมของคุณ

NTP /etc/ntp.confตั้งค่าภูตจะถูกเก็บไว้ในแฟ้ม ไม่ใส่เครื่องหมายความคิดเห็นบรรทัดที่มีคำสั่งstatsdirเพื่อเปิดใช้งานการบันทึกสถิติ NTP ntpdตรวจสอบให้แน่ใจว่าไดเรกทอรีอ้างอิงที่มีอยู่และสามารถเขียนได้สำหรับผู้ใช้


1

หากต้องการตรวจสอบเวลาที่กำหนดโดยเซิร์ฟเวอร์ NTP คุณสามารถลองใช้ ntpq -p คุณจะได้รับสิ่งนี้ *:

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*223.212.138.2    .MRS.           1 u  424  512  377    4.080   -4.551  21.857
+ts0.tttsc.nvm.e  .GPS.           1 u  387  512  363    1.304   -7.563  28.405
+218.89.10.3      217.13.17.82    2 u  334  512  377    1.853   -4.562  19.474

'การเข้าถึง' จะเป็น> 0 ในบางแถวหากเซิร์ฟเวอร์ NTP ได้มาถึงแล้วจึงตั้งเวลา มันคือ 8 บิตเลื่อนแปดด้านพร้อมเช่น 0,1,3,7,17,37,77,177,377

หรือนี่ - คุณสามารถ grep 'stratum' <16 หรือ sync_ntp (ไม่ได้อยู่ใน RPi อย่างชัดเจน)

$ ntpq -c rl
associd=0 status=0615 leap_none, sync_ntp, 1 event, clock_sync,
version="ntpd 4.2.6p5@1.2349-o Mon Jul 18 09:22:49 UTC 2013 (1)",
processor="x86_64", system="Linux/2.6.32-431.29.2.el6.x86_64", leap=00,
stratum=4, precision=-21, rootdelay=40.242, rootdisp=315.102,
refid=192.168.1.123,
reftime=d82131cd.fbb96c5e  Thu, Nov 27 2014 13:14:53.983,
clock=d82138e6.fd03bdd1  Thu, Nov 27 2014 13:45:10.988, peer=61770, tc=9,
mintc=3, offset=5.214, frequency=52.475, sys_jitter=12.217,
clk_jitter=23.319, clk_wander=1.373
$

อีกทางหนึ่ง (ฉันคิดว่า ntpstat ไม่สามารถใช้งานได้ทันทีบน RPi)

$ ntpstat
synchronised to NTP server (192.168.1.123) at stratum 4
   time correct to within 310 ms
   polling server every 512 s

และใช้รหัสทางออกเช่นกันที่นี่http://www.cyberciti.biz/faq/linux-unix-bsd-is-ntp-client-working/ยอมรับว่าไม่ใช่ RPi เฉพาะ ...

* ที่อยู่เซิร์ฟเวอร์เวลาไม่ใช่ของจริง


-1

การจับเวลานั้นมีอยู่ในซอฟต์แวร์ทั้งหมด หากไม่ใช้ NTP จะไม่มีการจับเวลา

หากคุณต้องการตรวจสอบว่านาฬิกาได้รับการตั้งค่าหรือไม่เพียงใช้dateเพื่อดูว่ามันแสดงให้เห็นถึงยุค Unix หรือไม่ซึ่งเป็นสิ่งที่ Pi จะใช้เป็นค่าเริ่มต้น


2
ไม่ถูกต้อง RPi ตั้งค่าเวลาปัจจุบันจากเวลาปิดเครื่องล่าสุดเมื่อไม่มีการเชื่อมต่อเครือข่าย ดังนั้นนาฬิกามักจะมีเวลาสุ่มก่อนเวลาที่ถูกต้องเสมอไป
Guy

2
นั่นไม่จริงกับ Pi ของฉัน หากฉันบูตโดยไม่ต้องเชื่อมต่อเครือข่ายเวลาเป็นยุค ฉันเห็นสิ่งนี้ในตอนนี้
Jivings

2
มันอาจขึ้นอยู่กับการกระจาย
อเล็กซ์แชมเบอร์เลน

1
@AlexChamberlain ดูเหมือนความแตกต่างที่แปลก
Jivings

1
@Jivings หากมีชิ้นส่วนของซอฟต์แวร์บน Raspbian ที่เรียกว่าfake-hwclockอาจจะไม่ได้อยู่ใน Arch ฟังดูเหมือนขนหัวลุกชนิดหนึ่งจะไม่สนใจ
อเล็กซ์แชมเบอร์เลน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.