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.
19
Jawaban:
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"
sumber
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.
sumber
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).
sumber
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.
sumber