Seberapa sering untuk mem-boot ulang raspberry dan bahkan perlu

19

Jika Anda memiliki raspberry di beberapa lokasi dan harus menjalankan skrip python "selamanya" (setahun, mungkin dua, tanpa saya berada di lokasi), seberapa sering saya harus reboot? Saya tahu orang-orang menjaga mereka tetap hidup selama + tahun, tetapi saya menulis skrip sederhana yang dapat mem-boot ulangnya pada waktu tertentu + raspberry secara otomatis akan menjalankan skrip python saat boot.

Rok Dolinar
sumber
1
Mengapa me-reboot jika Anda tidak perlu melakukannya? Ada saat-saat ketika reboot mungkin diperlukan peningkatan sistem misalnya. tetapi jika ini tidak otomatis saya tidak akan reboot. Reboot tidak bebas dari risiko bahwa sistem tidak akan berhasil reboot.
Steve Robillard
Yang saya jalankan 24/7 memiliki uptime 67 hari sekarang, yang mungkin tidak biasa. Saya hanya reboot untuk suatu tujuan. Seperti yang dikatakan Steve, mengapa melakukannya tanpa tujuan?
goldilocks
4
Dalam konteks dukungan TI, Anda mungkin berarti "dalam 90%" masalah reboot membantu. Anda tidak akan memanggil pelanggan secara acak dan menyuruh mereka untuk reboot sekarang untuk berjaga-jaga;)
goldilocks
1
24/7 mendata pada Arch, uptime saat ini 260 d. Biasanya me-reboot menyebabkan masalah;)
Ghanima
2
Cukup periksa log Anda dan file lain yang sedang tumbuh: logrotate akan melakukannya. Kartu SD memiliki masa hidup terbatas pada aktivitas disk yang sarat muatan, mungkin pindah / root untuk menggunakan drive pemintalan eksternal. Saya menambahkan led yang berkedip dalam sinkronisasi dengan cron dan merah yang menyala ketika ruang disk rendah dan lainnya yang menyala pada beberapa info log keamanan, dipangkas rsyslog ke min.
fcm

Jawaban:

25

Saya punya beberapa Pis yang menjalankan repeater dan sistem irigasi Ham Radio saya - secara realistis, saya me-reboot mereka mungkin sekali setiap 6 bulan untuk pembaruan keamanan atau alasan "pemeliharaan" lainnya; tapi saya belum melihat masalah di mana reboot diperlukan untuk "menjaga semuanya tetap berjalan"

N7QNM
sumber
25

Dalam hal perangkat keras , satu-satunya alasan Anda harus me-reboot papan ARMHF-y adalah perubahan firmware, perubahan yang diperlukan untuk ROM, atau mungkin perangkat baru yang harus ada saat boot.

Misalnya, menambahkan driver atau modul kernel dekat-ke-logam dan perangkat yang mengimplementasikan driver itu mungkin perlu di-boot ulang, hanya untuk memberi tahu CPU dan mapper memori kernel tentang perubahan tersebut. Anda dapat memperbarui kernel Linux tanpa me-reboot .

Dalam hal perangkat lunak , semua lingkungan komputasi utama yang tersedia untuk Pi adalah * nix-like 1 , di mana mereka True Unix ™ atau bahwa mereka menggunakan Linux atau turunan Linux dan karenanya (U) nix-y.

Unix dan turunannya dirancang dari bootloader hingga userland agar dapat sepenuhnya skalabel, portabel, dan andal; mereka dirancang untuk server yang tidak pernah atau hampir tidak pernah mengalami hard reset (alias sepenuhnya dimatikan dan di-boot dingin dari awal), dan, pada tingkat lebih rendah, perangkat tertanam persis seperti Raspberry Pis. Akibatnya, tujuan-tujuan ini memang berlaku pada Pi.

Ini berarti dalam praktiknya, Anda pada dasarnya tidak perlu me-reboot Pi Anda (atau * nix desktop PC Anda, dalam hal ini).


1 Mengabaikan, sejenak, Microsoft Windows 10: Internet Of Things Edition untuk Pi, yang saya ingin menjadi lelucon praktis tetapi tidak.

kucing
sumber
2
Terima kasih untuk 2c Anda, itu sangat membantu, saya sekarang yakin saya tidak akan pernah me-reboot PI saya.
Rok Dolinar
Pembaruan modul kernel / perangkat adalah satu-satunya kemungkinan penyebab diperlukannya reboot jika perangkat kerasnya tidak berubah - dan semakin mungkin untuk mengubah modul tanpa memulai ulang hari ini jika saya memahami sesuatu dengan benar.
SlySven
@SlySven Anda dapat mengubah modul tanpa perlu reboot, tapi jangan bergantung pada mereka yang berfungsi dengan baik dan tidak rusak
cat
1
Reboot NT sebulan sekali? Bagaimana Anda membuat itu ?!
Max Ried
1
@ pjc50 Wow, tidak menyadari ada lebih banyak rilis terbaru untuk itu. Sementara saya salah tentang itu, saya tahu bahwa Win10 IoT adalah inti yang sama dengan Win10 dan bukan CE :)
Matthew Steeples
3

Dengan sistem "jalankan selamanya" tertanam, reboot berkala tidak diperlukan. Adalah umum untuk menggunakan pengawas waktu perangkat keras untuk mendeteksi hang sistem dan reboot. Saya percaya pengawas waktu lebih berharga daripada reboot berkala (reboot mungkin tidak akan berfungsi jika sistem digantung).

Petani Chad
sumber
0

Saya setuju dengan hal-hal yang ditulis sebelumnya. Dalam situasi teoritis dengan perangkat lunak yang ditulis dengan sangat baik dengan penanganan kesalahan yang sempurna, tidak ada kebocoran memori ..., reboot tidak akan diperlukan.

Saya memiliki lebih dari 50 PI (semua PI 3) di situs, dan beberapa dapat di-reboot setiap minggu dan yang lain tidak pernah ... Hampir semua PI digunakan dalam mode kios, baik memutar video, menampilkan situs web, menjalankan skrip, ... Pengalaman pengguna penting bagi saya dan saya tidak mampu untuk memiliki PI gagal. Saya memiliki pengawas yang diinstal pada mereka semua.

Di situs saya, saya menggunakan pendekatan berikut (ini hanya menggunakan pengalaman saya sendiri, tanpa latar belakang ilmiah :-))

  • PI yang menjalankan server (Apache, SIP, ...) dan hanya terhubung dengan kabel ethernet: Saya tidak pernah me-reboot mereka, beberapa dari mereka memiliki uptime hampir 2 tahun (memang, saya tidak memutakhirkannya)!

  • sebaliknya, PI yang menjalankan videoloops (menggunakan OMXPlayer): Saya reboot perangkat itu setiap minggu. Saya sudah mencoba untuk tidak me-reboot sama sekali, tetapi saya menemukan bahwa sesekali video hang tanpa pengawasan bahkan memperhatikan. Jadi orang akan melihat gambar diam di layar. Saya akan mengatakan bahwa selama periode satu bulan ada - untuk masing-masing perangkat - kira-kira 50% kemungkinan bahwa video akan membeku sekali, Untuk mengurangi risiko itu, saya memutuskan untuk reboot sekali seminggu dan hasilnya dapat diterima: jadi jauh, setelah satu tahun reboot mingguan, saya hanya punya 2 pembekuan (pembekuan gambar, tidak ada pembekuan PI). Tentu saja saya ingin menghilangkannya juga, tetapi ini adalah topik lain. Bagi mereka, saya tidak peduli tentang dampak reboot pada kartu SD, karena, jika ini akan terjadi, itu hanya menempatkan kartu SD baru dan memperbarui template dengan video yang tepat.

  • PI yang ada dalam mode klien dan menampilkan konten pengguna berbasis web (menggunakan Chromium, KWeb, ...) dengan interaksi pengguna (terutama layar sentuh dan / atau tombol): Saya melakukan boot ulang setiap bulan dan sejauh ini belum ada masalah. Mungkin itu tidak diperlukan untuk me-reboot mereka ... tetapi mengingat perangkat tersebut menjalankan skrip (Java, Node.js) dan mendapatkan input dari perangkat lain, saya pikir pada suatu titik reboot mungkin diperlukan, jadi saya memutuskan untuk melakukan bulanan reboot

Saya menyadari ini bukan memberikan jawaban langsung untuk pertanyaan Anda, tetapi saya hanya ingin berbagi pengalaman pribadi sehingga Anda dapat - bersama-sama dengan jawaban lainnya - menilai apa pendekatan terbaik untuk proyek Anda nantinya.

pieterdp
sumber