(!) หมายถึงอะไรหลังจากใช้เวลาในการหยุดพัก


84

ฉันวิเคราะห์หัวเว็บบางคนดูhtopและสังเกตสิ่งต่อไปนี้

Uptime: 301 days(!), 23:47:39

อะไร(!)หมายความว่าอย่างไร


@ JoelDavis ดังนั้น (!) ไม่ได้มีความหมายอะไรแล้วเซิร์ฟเวอร์ใช้งานมา 301 วันแล้วหรือ?
brentwpeterson

8
พวกเขาแสดงรหัสที่แน่นอนในลิงค์ แต่ใช่มันเป็นเพียงแค่พูดว่า "OMG!"
Bratchley

2
แม้ว่าจุดแบ่งเขตที่แน่นอนคือ 100 วัน
Bratchley

1
@JoelDavis - ทำไมไม่เขียนมันขึ้นมาในฐานะ A เพื่อที่เราจะได้ปิดมันได้?
slm

คำตอบ:


119

จากhtopซอร์สโค้ดไฟล์UptimeMeter.cคุณสามารถดู:

char daysbuf[15];
if (days > 100) {
   sprintf(daysbuf, "%d days(!), ", days);
} else if (days > 1) {
   sprintf(daysbuf, "%d days, ", days);
} else if (days == 1) {
   sprintf(daysbuf, "1 day, ");
} else {
   daysbuf[0] = '\0';
}

ฉันคิดว่า!นี่เป็นเพียงเครื่องหมายที่เซิร์ฟเวอร์ใช้งานมานานกว่า 100 วัน

การอ้างอิง


ดังนั้นจึงมีบัฟเฟอร์ล้นหลังจากเวลาผ่านไป 9999 วัน? (บัฟเฟอร์ดูเหมือนจะเป็นถ่าน [32] ตอนนี้)
Kopfgeldjaeger

108

ผู้เขียน Htop ที่นี่ ใช่อย่างที่คนอื่นพูดถึงแล้วมันจะปรากฏขึ้นจริงหลังจาก 100 วันของเวลาทำงาน

เหตุผลก็คือไม่มีอะไรแฟนซีมันเป็นเพียงไข่อีสเตอร์ในซอฟต์แวร์ พิจารณาว่าโปรแกรมประทับใจกับเวลาทำงานของคุณและรับไปตามที่คุณต้องการ :)


3
เป็นเรื่องดีเสมอที่ได้เห็นคำตอบที่ชัดเจนเช่นนี้
iamnotmaynard

34

htop แสดงเครื่องหมายอัศเจรีย์เมื่อเซิร์ฟเวอร์หยุดทำงานตั้งแต่ 100 วันขึ้นไป

ในขณะที่เมื่อผู้ดูแลระบบมีความภาคภูมิใจในการแสดง uptimes นานวันนี้ระบบจะต้องมีการรีบูตเพื่อให้ทันสมัยกับเมล็ดใหม่และการแก้ไขความปลอดภัยบางอย่าง ด้วยเหตุผลดังกล่าวเวลาทำงานที่ยาวนานอาจไม่ใช่สิ่งที่ดีและฉันมักจะตีความเครื่องหมายอัศเจรีย์เป็นสัญญาณเตือน


8
ในขณะที่คำตอบของคุณสั้นกระชับ (และเห็นได้ชัดว่าถูกต้อง) การเพิ่มลิงก์ไปยังเอกสารที่เกี่ยวข้องหรือแหล่งข้อมูลที่สนับสนุนจะเป็นประโยชน์
HalosGhost

7
ในบางกรณีคุณสามารถอัพเดทโดยไม่ต้องรีบูตเครื่อง อย่างไรก็ตามปัญหาคือหลังจากการเปลี่ยนแปลงมากมายคุณไม่สามารถมั่นใจได้ว่าระบบจะบู๊ตในกรณีที่รีบูตโดยไม่ได้วางแผนไว้ ดังนั้นจึงไม่ใช่ความคิดที่ดีที่จะทำการรีบูตเครื่องเพื่อทดสอบ
Tadas Sasnauskas

ดังนั้น Live patch ใน linux kernel 4 จึงไม่จำเป็น? เนื่องจากระบบจะต้องทำการบูทเป็นประจำเพื่อตรวจสอบข้อผิดพลาด?
Chenming Zhang

ฉันใช้การดูแลเคอร์เนลเพื่อทำให้เคอร์เนลของฉันรีบูต
allquixotic
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.