Se você tem uma framboesa em algum local e deve executar um script python "para sempre" (um ano, talvez dois, sem que eu esteja no local), com que frequência devo reiniciá-lo? Sei que as pessoas as mantêm vivas por mais de um ano, mas escrevi um script simples que pode reiniciá-lo em um determinado momento + o raspberry executará automaticamente o script python na inicialização.
19
Respostas:
Tenho alguns Pis executando meu repetidor de rádio amador e sistema de irrigação - realisticamente, estou reinicializando-os talvez uma vez a cada 6 meses para atualizações de segurança ou algum outro motivo de "manutenção"; mas não vi problemas em que era necessária uma reinicialização para "manter as coisas funcionando"
fonte
Em termos de hardware , o único motivo para você precisar reiniciar uma placa ARMHF-y são as alterações de firmware, as alterações necessárias na ROM ou, possivelmente, os novos dispositivos que devem estar presentes na inicialização.
Por exemplo, adicionar um driver ou módulo de kernel próximo ao metal e um dispositivo implementando esse driver provavelmente precisará de uma reinicialização, apenas para informar ao CPU e ao mapeador de memória do kernel sobre a alteração. Você pode atualizar o kernel do Linux sem reiniciar .
Em termos de software , todos os principais ambientes de computação disponíveis para o Pi são * nix-like 1 , pois são True Unix ™ ou usam Linux ou um derivado Linux e são (U) nix-y.
O Unix e seus derivados são projetados desde o gerenciador de inicialização até a terra do usuário para serem totalmente escaláveis, portáteis e confiáveis; eles foram projetados para servidores que nunca ou quase nunca passam por uma reinicialização completa (ou seja, são totalmente desligados e inicializados a frio a partir do zero) e, em menor grau, dispositivos incorporados exatamente como Raspberry Pis. Consequentemente, esses objetivos realmente se aplicam ao Pi.
Isso significa que, na prática, você basicamente nunca precisará reiniciar o seu Pi (ou o seu * nix PC de mesa).
1 Ignorando, por um momento, o Microsoft Windows 10: Internet Of Things Edition para o Pi, que desejo ser uma piada prática, mas não é.
fonte
Nos sistemas incorporados "executar para sempre", as reinicializações periódicas são desnecessárias. É comum usar um cronômetro de vigilância de hardware para detectar uma paralisação e reinicialização do sistema. Acredito que o timer do watchdog é mais valioso do que uma reinicialização periódica (a reinicialização provavelmente não funcionará se o sistema estiver travado).
fonte
Eu concordo com as coisas escritas antes. Em uma situação teórica com software excelentemente escrito, com tratamento perfeito de erros, sem vazamentos de memória ..., uma reinicialização não será necessária.
Eu tenho mais de 50 PIs (todos PI3) no local, e alguns são reinicializados semanalmente e outros nunca ... Quase todos os PIs são usados no modo quiosque, reproduzindo vídeos, exibindo um site, executando scripts, ... A experiência do usuário é importante para mim e não posso me dar ao luxo de ter um PI com falha. Eu tenho um cão de guarda instalado em todos eles.
No meu site, estou usando a seguinte abordagem (isso é apenas usando minha própria experiência, sem formação científica :-))
PIs que executam servidores (Apache, SIP, ...) e são conectados apenas com um cabo Ethernet: eu nunca os reinicializo, alguns deles têm um tempo de atividade de quase 2 anos (na verdade, eu não os atualizei)!
pelo contrário, PIs que executam videoloops (usando o OMXPlayer): eu reinicio esses dispositivos semanalmente. Tentei não reiniciá-los, mas descobri que ocasionalmente o vídeo trava sem que o cão de guarda perceba. Assim, veríamos uma imagem estática na tela. Eu diria que, durante um período de um mês, para cada um dos dispositivos, havia aproximadamente 50% de chance de o vídeo congelar uma vez. Para minimizar esses riscos, decidi reiniciar uma vez por semana e os resultados são aceitáveis: Até agora, após um ano de reinicializações semanais, eu só tinha dois congelamentos (congelamento de imagem, sem congelamento de PI). É claro que eu adoraria eliminá-los também, mas esse é outro tópico. Para eles, não me importo com o impacto de uma reinicialização no cartão SD, pois, se isso acontecer, é simplesmente colocar um novo cartão SD e atualizar o modelo com o vídeo certo.
PIs que estão no modo cliente e exibem conteúdo do usuário baseado na Web (usando Chromium, KWeb, ...) com interação do usuário (principalmente telas sensíveis ao toque e / ou botões): eu os reinicializo todos os meses e até agora não tivemos problemas. Talvez não fosse necessário reiniciá-los ... mas, considerando que esses dispositivos rodam scripts (Java, Node.js) e obtêm entrada de outros dispositivos, pensei que, em algum momento, uma reinicialização fosse necessária, então decidi ir por um mês reiniciar.
Sei que isso não está dando uma resposta direta à sua pergunta, mas eu só queria compartilhar uma experiência pessoal para que você possa, juntamente com as outras respostas, julgar qual seria a melhor abordagem para o seu projeto.
fonte