如果您在某个位置有一个树莓,并且必须“永远”运行python脚本(一年,也许是两个,而我不在该位置),我应该多久重启一次?我知道人们可以让它们存活一年以上,但是我写了一个简单的脚本,可以在给定的时间重新启动它,而raspberry会在启动时自动运行python脚本。
如果您在某个位置有一个树莓,并且必须“永远”运行python脚本(一年,也许是两个,而我不在该位置),我应该多久重启一次?我知道人们可以让它们存活一年以上,但是我写了一个简单的脚本,可以在给定的时间重新启动它,而raspberry会在启动时自动运行python脚本。
Answers:
在硬件方面,您需要重新引导ARMHF-y板的唯一原因是固件更改,对ROM的必要更改或可能在引导时必须存在的新设备。
例如,添加驱动程序或接近金属的内核模块以及实现该驱动程序的设备可能需要重新启动,仅是为了告知CPU和内核内存映射器有关更改的信息。您无需重新启动即可更新Linux内核。
在软件方面,Pi可用的所有主要计算环境都是* nix-like 1,因为它们是True Unix™,或者它们使用Linux或Linux派生软件,因此都是(U)nix-y。
Unix及其派生产品从引导程序到用户区都经过了全面扩展,可移植和可靠的设计。它们是为从未或几乎不会进行硬重置(也就是完全关闭并从头开始冷启动)的服务器而设计的,在较小的程度上,它们是与Raspberry Pis一样的嵌入式设备。因此,这些目标确实适用于Pi。
这意味着实际上,您基本上不需要重启Pi(或者您的* nix台式机)。
1暂时忽略了Pi 的Microsoft Windows 10:Internet Of Things Edition,我希望成为一个实用的玩笑,但事实并非如此。
我同意以前写的东西。从理论上讲,使用编写出色的软件并具有完美的错误处理功能,没有内存泄漏...,无需重新启动。
我的网站上有50多个PI(所有PI 3),有些每周重新启动,而其他则从来没有...几乎所有PI都在信息亭模式下使用,包括播放视频,显示网站,运行脚本,...用户体验对我很重要,因此我无法承担PI失败的风险。我在所有的人身上都安装了看门狗。
在我的网站上,我正在使用以下方法(这仅是基于我自己的经验,没有科学背景:-)
运行服务器(Apache,SIP等)的PI仅通过以太网电缆连接:我从不重启它们,其中一些具有将近2年的正常运行时间(实际上,我没有对它们进行升级)!
相反,运行videoloop(使用OMXPlayer)的PI是:我每周重新启动这些设备。我试图完全不重新启动它们,但是我发现有时视频挂起甚至没有看门狗。因此,人们会在屏幕上看到静止图像。我想说,在一个月的时间里-对于每种设备-大约有50%的机会将视频冻结一次,为降低这些风险,我决定每周重启一次,结果是可以接受的:到目前为止,在每周重新启动一年后,我只有2次冻结(映像冻结,没有PI冻结)。当然,我也希望消除这些问题,但这是另一个主题。对于这些用户,我不在乎重新启动对SD卡的影响,因为如果发生这种情况,它只是放置新的SD卡并使用正确的视频更新模板。
PI处于客户端模式,并通过用户交互(主要是触摸屏和/或按钮)显示基于Web的用户内容(使用Chromium,KWeb等):我每月重启一次,到目前为止还没有任何问题。也许不需要重启它们...但是鉴于这些设备运行脚本(Java,Node.js)并从其他设备获取输入,我认为在某个时候可能需要重启,所以我决定每月进行一次重启重启。
我意识到这并不能直接回答您的问题,但是我只是想分享一些个人经验,因此您可以(与其他答案一起)判断哪种项目最适合您的方法。