4
ฉันจะวัดและป้องกันการเลื่อนของนาฬิกาได้อย่างไร
ในหลาย ๆ แพลตฟอร์มการผลิตเราได้สังเกตอาการที่ดูเหมือนจะบ่งบอกว่าเวลาของนาฬิกาวันนั้นกำลังกระโดดไปข้างหน้าหรือข้างหลังเป็นระยะ ปกติการกระโดดจะใช้เวลาประมาณ 1 วินาทีโดยทั่วไปจะถูกยกเลิก (กระโดดไปข้างหน้าหลังจากนั้นไม่นานหลังจากนั้น) และเกิดขึ้นประมาณ 50 ครั้งต่อวัน ดริฟท์นี้สามารถสังเกตได้มากที่สุดในช่วงเวลาที่มีการใช้งานแอพพลิเคชั่นสูงสุดและในช่วงที่มีการทำงานของดิสก์ I / O สูงเช่นการสำรองข้อมูลรายวัน สิ่งเหล่านี้ส่งผลกระทบต่อแอปพลิเคชันที่อ่อนไหวตามเวลาจริงของเรา ระบบคือเซิร์ฟเวอร์ Oracle Netra X4250 และเซิร์ฟเวอร์ Netra X4270 ที่ใช้ SLES 11SP2 พร้อมเคอร์เนลเริ่มต้น 3.0.58-0.6.6 $ cat /sys/devices/system/clocksource/clocksource0/available_clocksource tsc hpet acpi_pm $ cat /sys/devices/system/clocksource/clocksource0/current_clocksource tsc เราได้ปิดใช้งานNTPแต่นั่นไม่ได้มีผลกระทบใด ๆ ต่อการดริฟท์ มีเครื่องมือที่ใช้วัดเวลาของการเลื่อนนาฬิกาวันหรือไม่? เราจะหลีกเลี่ยงสิ่งนี้ได้อย่างไร นี่เป็นแพลตฟอร์มการผลิตและเราไม่สามารถสร้างปัญหาขึ้นใหม่ในห้องปฏิบัติการของเราดังนั้นความสามารถในการทดสอบของฉันจึงมี จำกัด หากปล่อยทิ้งไว้ที่อุปกรณ์ของฉันเองฉันจะเขียนเครื่องมือเพื่อวัดค่าดริฟท์และอาจทดสอบกับแหล่งสัญญาณนาฬิกาของ HPET