บ่อยครั้งที่จะรีบูตเครื่องราสเบอร์รี่และมันจำเป็นมาก


19

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


1
ทำไมต้องรีบู๊ตถ้าคุณไม่ต้องการ? มีบางครั้งที่อาจจำเป็นต้องรีบูตระบบเพื่ออัพเกรดระบบ แต่ถ้านี่ไม่ใช่อัตโนมัติฉันจะไม่รีบูท การรีบูตไม่มีความเสี่ยงที่ระบบจะรีบูตไม่สำเร็จ
Steve Robillard

คนที่ฉันวิ่งตลอด 24/7 นั้นมีเวลาพักใน 67 วันซึ่งอาจไม่แปลก ฉันรีบูตเพื่อจุดประสงค์เท่านั้น อย่างที่สตีฟบอกทำไมทำอย่างไม่มีวัตถุประสงค์?
goldilocks

4
ในบริบทของการสนับสนุนด้านไอทีคุณอาจหมายถึง "ใน 90%" ของปัญหาการรีบูตช่วย คุณจะไม่เรียกลูกค้าแบบสุ่มและบอกให้พวกเขารีบูตตอนนี้ในกรณี;)
goldilocks

1
การบันทึกข้อมูล 24/7 บน Arch, เวลาอัพปัจจุบัน 260 d โดยปกติการรีบูตเครื่องจะทำให้เกิดปัญหา)
Ghanima

2
เพียงตรวจสอบบันทึกและไฟล์ที่กำลังเติบโตอื่น ๆ ของคุณ: logrotate จะทำ การ์ด SD มีอายุการใช้งานที่ จำกัด ในกิจกรรมดิสก์ที่มีภาระมากอาจจะย้าย / รูทเพื่อใช้ไดรฟ์หมุนภายนอก ฉันได้เพิ่มไฟ led กระพริบในการซิงค์กับ cron และสีแดงที่สว่างเมื่อพื้นที่ว่างในดิสก์เหลือน้อยและอื่น ๆ ที่ติดอยู่กับข้อมูลบันทึกความปลอดภัยบางส่วน rsyslog ตัดให้เหลือน้อย
fcm

คำตอบ:


25

ฉันมี Pis สองตัวที่ใช้งาน Ham Radio repeater และระบบชลประทานของฉัน - ตามความเป็นจริงฉันจะรีบูตพวกเขาทุกๆ 6 เดือนเพื่ออัปเดตความปลอดภัยหรือเหตุผลอื่น ๆ ในการบำรุงรักษา; แต่ฉันไม่เห็นปัญหาที่ต้องมีการรีบูตเพื่อ "ดำเนินการต่อ"


25

ในแง่ของฮาร์ดแวร์เหตุผลเดียวที่คุณควรจะต้องรีบูตบอร์ด ARMHF-y คือการเปลี่ยนแปลงเฟิร์มแวร์การเปลี่ยนแปลงที่จำเป็นใน ROM หรืออุปกรณ์ใหม่ที่อาจต้องมีในการบู๊ต

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

ในแง่ของซอฟแวร์สภาพแวดล้อมการประมวลผลหลัก ๆ ทั้งหมดที่มีให้สำหรับ Pi นั้นเป็น * nix-like 1ซึ่งเป็น True Unix ™ หรือที่พวกเขาใช้ Linux หรืออนุพันธ์ Linux และจึง (U) nix-y

Unix และอนุพันธ์ได้รับการออกแบบมาจาก bootloader ไปจนถึง userland เพื่อให้สามารถปรับขนาดได้พกพาและเชื่อถือได้อย่างเต็มที่ พวกเขาถูกออกแบบมาสำหรับเซิร์ฟเวอร์ที่ไม่เคยหรือแทบจะไม่เคยผ่านการรีเซ็ตแบบยาก (aka ถูกปิดตัวลงอย่างสมบูรณ์และถูกบูตด้วยความเย็นตั้งแต่เริ่มต้น) และในระดับที่น้อยกว่านั้นอุปกรณ์ฝังตัวเช่น Raspberry Pis ดังนั้นเป้าหมายเหล่านี้ใช้กับ Pi แน่นอน

ในทางปฏิบัติแล้วโดยทั่วไปคุณไม่จำเป็นต้องรีบูต Pi (หรือ * เดสก์ท็อปพีซี * สำหรับเรื่องนั้น)


1ไม่สนใจสักครู่Microsoft Windows 10: Internet Of Things Edition สำหรับ Pi ซึ่งฉันอยากจะเป็นมุขตลก แต่ไม่ใช่


2
ขอบคุณสำหรับ 2c ของคุณมันช่วยได้มากตอนนี้ฉันแน่ใจว่าฉันจะไม่รีบูตเครื่อง PI
Rok Dolinar

การอัพเกรดโมดูลเคอร์เนล / อุปกรณ์เป็นเพียงสาเหตุเดียวที่ต้องรีบูตหากฮาร์ดแวร์ไม่เปลี่ยนแปลง - และเป็นไปได้ที่จะเปลี่ยนโมดูลโดยไม่ต้องเริ่มต้นใหม่ในวันนี้หากฉันเข้าใจสิ่งต่าง ๆ อย่างถูกต้อง
SlySven

@SlySven คุณสามารถเปลี่ยนโมดูลได้โดยไม่ต้องรีบูทเพียงแค่ไม่ต้องพึ่งพามันว่าทำงานได้อย่างสมบูรณ์และไม่ทำลาย
แมว

1
รีบูต NTs เดือนละครั้งหรือไม่ คุณคิดยังไงกับมัน?!
Max Ried

1
@ pjc50 ว้าวไม่รู้ว่าจะมีรุ่นใหม่กว่านี้อีกแล้ว ในขณะที่ผมผิดเกี่ยวกับการที่ฉันรู้ว่า Win10 IOT เป็นหลักเช่นเดียวกับ Win10 และไม่ CE :)
แมทธิวยอดแหลม

3

ด้วยการฝังระบบ "รันตลอดไป" การรีบูตเป็นระยะจึงไม่จำเป็น เป็นเรื่องปกติที่จะใช้ตัวจับเวลาจ้องจับผิดของฮาร์ดแวร์เพื่อตรวจสอบว่าระบบหยุดทำงานและรีบูต ฉันเชื่อว่าตัวจับเวลาจ้องจับผิดนั้นมีค่ามากกว่าการรีบูตเป็นระยะ (การรีบูตอาจไม่ทำงานหากระบบหยุดทำงาน)


0

ฉันเห็นด้วยกับสิ่งที่เขียนไว้ก่อนหน้านี้ ในสถานการณ์ตามทฤษฎีที่มีซอฟต์แวร์ที่เขียนขึ้นอย่างยอดเยี่ยมพร้อมการจัดการข้อผิดพลาดที่สมบูรณ์แบบไม่มีการรั่วไหลของหน่วยความจำ ... การรีบูตจะไม่จำเป็น

ฉันมีมากกว่า 50 PI ของ (PI ทั้งหมด 3) ในเว็บไซต์และบางส่วนได้รับการรีบูตทุกสัปดาห์และคนอื่น ๆ ไม่เคย ... PI เกือบทั้งหมดจะถูกใช้ในโหมดคีออสก์ทั้งการเล่นวิดีโอแสดงเว็บไซต์ทำงานสคริปต์ ... ประสบการณ์การใช้งานของผู้ใช้เป็นสิ่งสำคัญสำหรับฉันและฉันไม่สามารถจ่ายให้ PI ล้มเหลวได้ ฉันมีสุนัขเฝ้าบ้านติดตั้งอยู่ทุกตัว

ในเว็บไซต์ของฉันฉันใช้วิธีการดังต่อไปนี้ (นี่เป็นเพียงการใช้ประสบการณ์ของตัวเองไม่มีพื้นฐานทางวิทยาศาสตร์ :-))

  • PI ของเซิร์ฟเวอร์ที่รัน (Apache, SIP, ... ) และเชื่อมต่อกับสายเคเบิลอีเธอร์เน็ตเท่านั้น: ฉันไม่เคยบูตเครื่องใหม่ แต่บางเครื่องก็ใช้งานได้เกือบ 2 ปี (แน่นอนฉันไม่ได้อัพเกรดมัน)

  • ในทางตรงกันข้าม PI ของที่เรียกใช้ videoloops (ใช้ OMXPlayer): ฉันรีบูตอุปกรณ์เหล่านั้นทุกสัปดาห์ ฉันพยายามที่จะไม่รีบูตพวกเขา แต่ฉันพบว่าบางครั้งวิดีโอแฮงค์โดยไม่ต้องจ้องจับผิดแม้กระทั่งสังเกตเห็น ดังนั้นหนึ่งจะเห็นภาพนิ่งบนหน้าจอ ฉันจะบอกว่าในช่วงเวลาหนึ่งเดือนมี - สำหรับแต่ละอุปกรณ์ - มีโอกาส 50% ที่วิดีโอจะหยุดหนึ่งครั้งเพื่อลดความเสี่ยงเหล่านั้นฉันตัดสินใจที่จะรีบูตสัปดาห์ละครั้งและผลลัพธ์เป็นที่ยอมรับดังนั้น ที่ผ่านมาหลังจากรีบูตระบบรายสัปดาห์เป็นเวลาหนึ่งปีฉันมีการค้าง 2 ครั้งเท่านั้น (การตรึงภาพไม่มีการแช่แข็ง PI) แน่นอนฉันชอบที่จะกำจัดสิ่งเหล่านั้นเช่นกัน แต่นี่เป็นหัวข้ออื่น สำหรับสิ่งเหล่านั้นฉันไม่สนใจว่าจะมีการรีบูตการ์ด SD เพราะถ้าเกิดเหตุการณ์เช่นนี้ขึ้นก็เพียงแค่ใส่การ์ด SD ใหม่และอัปเดตเทมเพลตด้วยวิดีโอที่ถูกต้อง

  • PI ของที่อยู่ในโหมดไคลเอนต์และแสดงเนื้อหาผู้ใช้บนเว็บ (โดยใช้ Chromium, KWeb, ... ) กับการโต้ตอบกับผู้ใช้ (โดยทั่วไปคือหน้าจอสัมผัสและ / หรือปุ่ม): ฉันรีบูตเครื่องเหล่านั้นทุกเดือน อาจไม่จำเป็นต้องรีบูตพวกเขา ... แต่ให้อุปกรณ์เหล่านั้นเรียกใช้สคริปต์ (Java, Node.js) และรับข้อมูลจากอุปกรณ์อื่น ๆ ฉันคิดว่าในบางจุดอาจจำเป็นต้องรีบูตเครื่องดังนั้นฉันจึงตัดสินใจที่จะไปเป็นรายเดือน รีบูต

ฉันรู้ว่านี่ไม่ใช่การให้คำตอบโดยตรงกับคำถามของคุณ แต่ฉันแค่อยากแบ่งปันประสบการณ์ส่วนตัวเพื่อให้คุณสามารถร่วมกับคำตอบอื่น ๆ ได้ - ตัดสินว่าอะไรคือวิธีที่ดีที่สุดสำหรับโครงการของคุณ

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