Linux PC最多可以启动时间?[关闭]


12

实际上,我有几天没有重启的Linux系统(运行Ubuntu 12.04.3)。我遇到了一些错误,例如睡眠挂起,某些网络安装的文件系统甚至无法ping通(通过其他PC验证,网络安装工作正常)。

想要检查Linux是否还需要在一定时间范围后重新引导计算机,以避免这些不可重复的怪异错误。

我们最多可以维持PC开机时间?如果我们的系统使用了一年或更长时间却没有重新启动,是否还会发生其他一些问题?


2
我不认为有一个静态的限制,因为计算机并不是要长时间保持清醒和运行状态。没有额定的限制。这就是您的计算机可以保持多长时间。为什么您不希望偶尔重启。
TheWanderer 2015年

7
@ Zacharee1 umm,为什么要重启?除非是功耗,否则实际上没有太多原因。实际上,如果您不这样做会更好。硬件通常会持续使用,每零件X年。为了简单起见,让我们说X普遍为10(也不会相差不远)-它通常可以连续使用10 年。那是正常使用。如果重新启动,则不能连续使用,但是下次机器启动时,硬件也会受到严重影响。如果您不做任何事情-大多数组件都会旋转,无论如何都要减少消耗和磨损。
VLAZ 2015年

1
显然,零件在使用时会遭受更多的磨损。但是,重新启动(不同于仅关闭系统)不会减少组件的磨损,反而会增加磨损。此外,如果您认为缓存在RAM中的数据会降低计算机的速度,则从根本上会误解缓存的工作方式。
2015年

1
如果您在Linux(例如LAMP)上运行Web服务器,则要尽可能避免重新引导,因为这样做可能会使您的网站在系统重新启动所需的时间内关闭。我认为我已经过了一年,但肯定已经好几个月没有重启了。
tcrosley

2
@ Zacharee1 RAM中的几乎所有内容都不会降低计算机的速度。如果应用程序中发生内存泄漏,则可能占用60%的RAM,系统很快就会开始交换,这很慢,但是解决方案是重新启动应用程序,而不是操作系统。停止机器可以消除零件的磨损,但是无论如何,您要比大多数情况下更早地更换它们。而且,正如我所指出的,硬件组件本身已经可以减少磨损。只需让系统保持空闲状态即可。
VLAZ

Answers:


36

作为系统管理员,我发现Linux服务器可以运行700-800天以上,而无需重启,因此没有正常运行时间的限制。您得到的错误与Linux(内核)本身无关。

可以重新启动许多服务,并且可以在生产系统上解决大多数错误。


7
可以确认这一点。我的一台服务器上的当前正常运行时间:〜$正常运行时间00:13:15最多883天,9:00,1个用户,平均负载:0.00、0.01、0.05 Ubuntu 12.04.4 LTS。不需要更新任何东西,因为它没有运行任何重要的事情。
Minthos

5
我已经成功地将嵌入式Linux实例保留了3年以上。
拉法尔Cieślak

16

在一定时间后,无需技术上的重新启动计算机。我的矿井已经运行了几个月(包括内核模块更新),中间有一些挂起(到RAM和磁盘)。

有时候

  • 重启是绝对必要的,例如内核更新(但是在许多情况下这些都不是紧急的,在某些情况下,您可以在实时系统上用新内核替换正在运行的内核。请参阅kexec Ksplice
  • 重新启动整个系统可能会更容易,而不是仅重新启动特定的子系统即可。

随着时间的流逝,可能会出现一些“变得更糟”的问题(例如,硬件驱动程序问题,进程泄漏),但这些问题被认为是错误,通常可以通过软件升级来解决,也可以通过重新加载/重新启动该特定子系统来解决(也往上看)。


6
在运行中,内核修补会获得应有的炒作。如果您有时间验证更新是否能以这种方式工作,那将非常好,但是任何使内存数据结构不同的代码更改都不能实时修补。通常,它不会启用无重启升级到新内核。它将允许对诸如权限检查错误之类的内容进行无重启的修复。很棒,而且不必重启服务器,但不要指望这会给您带来无重启的新版本升级。
彼得·科德斯

1
我同意彼得的看法。这就是为什么在这种情况下我没有提到实时补丁,以免使事情变得更加复杂。someone,有人编辑了我的答案。
David Foerster,2015年

7

虽然我确定有些服务器的正常运行时间更长,但我还是从我的其中一个服务器中提出以下示例作为可能的示例:

# uptime
04:58:44 up 2186 days, 23:15,  1 user,  load average: 0.02, 0.02, 0.00

该服务器是在DC投入使用后不久安装的,此后一直没有关闭。到目前为止,它继续愉快地执行了原本打算的工作,当该目的转移到另一台服务器时,我将在那儿放置一些东西只是为了监视正常运行时间,并且它可能会一直工作直到我无法证明保持其正常运行不再。

因此,我认为“没有最大值”绝对是正确的答案。


7

我不知道这是否会影响系统的稳定性,但是在Ubuntu 3.19-xx内核中显示的最大正常运行时间是68,096259734982232位计算机292471208677,8627上的年限和64位计算机上的年限。

这是因为系统的当前运行时间,这是由返回sysinfo()系统调用,则返回作为__kernel_long_t类型,这是一个声明作为long在32位内核作为long long在64位内核 ;

long32位计算机上的A 的最大值为2147483647

long long在64位机器上具有的最大值9223372036854775807;

做数学,2147483647s= 68,0962597349822年和9223372036854775807s=292471208677,8627年。

一旦该值增加超过其类型的能力,就会发生算术溢出,并将其设置为该类型所允许的最小值(在两种情况下均为负数):这可能是依赖它的程序遇到的问题。


3
OP并没有要求系统可以准确记录的最大正常运行时间,而是在询问是否由于某种稳定性等原因需要定期重新启动系统。局限性。
Boluc Papuccuoglu 2015年

@BolucPapuccuoglu看看您认为它是否更适合这种格式,尤其是最后一部分。我明确指出了问题所在。如果您仍然认为不是,我将删除答案。
kos 2015年

6

我曾经和一个系统管理员一起上过课,他声称他有一台Linux服务器运行了十多年,没有任何重启。没有固有的原因需要定期重新启动系统。仅在有限的情况下(例如内核更新)才需要它。

FWIW,我通常使Windows家用计算机保持运行状态。它通常可以正常运行数周而无需重新启动。


如果Windows计算机运行了数周而没有重新启动,则显然您没有启用自动更新。它们通常每周下载一次,几乎总是导致重新启动。
tcrosley

@tcrosley谁仍然需要自动更新?这是我在那些机器上关闭的第一件事。我将决定如何使用计算机,而不是一些自动服务。
2015年

@tcrosley您确定通常每周都会下载Windows安全更新吗?从Microsoft的更新发布策略和个人使用Windows的经验来看,我的理解是,更新通常每月大约发布一次。桅杆:虽然您当然可以禁用自动更新,但我不知道为什么这样做会导致正常运行时间更长。大概-希望如此-您正在手动更新,至少是为了安全修复程序。另一方面,禁用自动更新可能会更容易控制何时发生停机。
伊利亚·卡根

@EliahKagan我的机器安装程序不仅可以下载安全修复程序,还可以下载应用程序,驱动程序等的更新。我可能会错一次,但每周一次,但肯定是每月一次。它每天早上3:00检查更新。我早上进来,发现我的系统已重新启动,并且登录后,出现一条消息“您的系统已重新启动以安装更新”。
tcrosley15年

4

当程序退出时,Linux(内核)非常擅长释放资源。GNU / Linux(整个操作系统)通常可以无限期运行。在更新用户空间程序之后,重新启动它们通常是一个好主意,并且通常是使用更新后的所有内容的最简单方法glibc程序是重新引导系统。

在具有驱动程序错误(通常是图形驱动程序错误,其他所有东西通常都是坚如磐石)的系统上,有时会出现奇怪的行为,如果您不立即重启,则会变得很奇怪。如果您在dmesg输出中看到内核OOPS ,则应在方便时立即重新引导并报告它(或在其他类似Google硬件上搜索其他遇到类似问题的人,以防万一,这是已知问题)。发行版未提供图形堆栈的最新开发版本,因此有时该错误已在上游修复,并且您的显卡对于正在运行的发行版上的驱动程序来说太新了。在这种情况下,请查找具有更新的mesa / drm / xorg版本的PPA。(我不确定运行带有尖端图形堆栈的Ubuntu的最佳选择是ATM)。

无论如何,除非存在驱动程序或其他内核错误,否则Linux可以无限期运行,而无需重新启动以清除内存碎片或类似问题。

我有一个Linux路由器/防火墙/邮件服务器/外壳盒(P3 450MHz,超频到500MHz),通常能看到数百天的正常运行时间。我重启只是为了重新排列电源线,或更换有故障的电源。使用相同的CPU / RAM /硬盘驱动器可能已经稳定了15年。我从来不需要重启,因为它变得不稳定了。总是有特定原因造成的,例如电源故障,内核升级或断电,而我的UPS电池几乎没电了(通过触发自动关机apcupsd)。

如果您的系统运行异常,请检查dmesg是否存在问题。如果这只是您的桌面,那么如果您仅安装了一些非内核软件包更新,请注销/登录(或重新启动,但不必这样做)。我发现Kubuntu 15.04在软件包更新后将很容易遇到问题,我认为由于在同一二进制文件中运行的同一库的升级/未升级版本之间的二进制不兼容。(请参见有关此错误的讨论)。

我检查硬件问题的方法是引导memtest86 +。(aptitude install memtest86+)让其运行一次完整通过,或运行一整夜。这并不能保证系统的稳定,因为这些天CPU可能会在尖峰负载上出现电源电压下降的情况,而memtest不会排除这种情况。也不会像Prime95那样使您的CPU发热。


3

我的计算机在运行11天后直到今天才重新启动15.04,没有任何我记得的奇怪错误。如果您在系统上进行繁重的工作和开发,则有时它可能是重新引导的唯一选择,但仅在需要时才是。


确实您是对的!我已经在16.04上开发了几个月。由于死机,我通常每天都重新启动计算机。但是我确定原因是我安装了该软件,并在驱动程序等上使用了这些
。– efkan

1

技术上没有限制。您只需将其设置为不睡眠或关闭。


3
您能否进一步阐明和阐述您的答案?特别是这条线you just have to set it to not sleep or shut down
heemayl

简短,简洁,正确的回答“技术上没有限制”就足够了。
Lao Lam

0

就个人而言,我不想连续数天不重启或关闭笔记本电脑或PC。

仅仅由于产生热量的主要成分会加速MB的磨损。

(也就是说,如果您没有适当的冷却和通风)


4
如果是Acer或HP之类的消费级垃圾,而商务级Thinkpad或Dell Latitude笔记本电脑通常更好;我个人拥有的Latitude运行24x7已有一年多了,它就在我旁边,并且仍然运行良好。

@kingtoor为什么运行不充分冷却的计算机24x7偶尔重启会比不运行24/7不重启机器更好?(或者这不是您想说的话吗?)
Eliah Kagan

1
确定不用时,在不使用的笔记本电脑上关机/睡眠,该笔记本电脑在24/7全天候运行时会变热。这与重启(无需花费时间)与持续正常运行时间无关。
彼得·科德斯

我的回答在我的评论中。
Kingtoor

另外,除非有服务器,否则我真的没有看到普通用户每天24/7运行PC的任何理由。多数民众赞成在我的意见。
2015年

0

并非特定于Ubuntu,但我有一台1997年的老式笔记本电脑(300 MHz,288 MB RAM),它运行基于Debian的发行版,正常运行时间长达60天以上,同时运行一个程序(加上系统程序和conky),并且除了终端每周加载更新之外,不启动和停止其他软件。最终,它在加载更新时(大约63天)崩溃了。相比之下,我的Kubuntu 14.04桌面系统将在大约两周后冻结在屏幕锁定中。我同意其他答案;与其说是Linux,不如说是您所运行的软件以及启动和停止其他程序的频率。


如果它崩溃了(我指的是硬崩溃或死机,而不仅仅是X崩溃,它可以在不重启的情况下修复),这可能意味着存在硬件问题(过热,RAM损坏等)。作为系统管理员,有时我的服务器可以运行数月而不重启,尽管我宁愿避免这样做,因为需要重启才能应用内核更新。

当屏幕锁定变为黑屏时,没有有效的方法来判断这是硬系统锁定还是X服务器故障-也无法访问命令行(无法输入密码)以重启X或其他任何方式有可能。我倾向于考虑是否需要两个星期,这不是过热或RAM损坏。
Zeiss Ikon 2015年

Ctrl + Alt + F1不起作用?坏的图形驱动程序可能是罪魁祸首-他们可能没有经过长时间正常运行的测试,但是Linux肯定能够运行很多年而没有问题。

我必须尝试CTL-ALT-F1,如果我下次记得屏幕锁定冻结时仍记得它(我一直在使用硬重置)。我想我会startx用来重启X服务器吗?还是我需要使用特殊命令来重新启动服务?我很清楚旧的Linux说法,“重新启动是为了内核升级和硬件安装。”
Zeiss Ikon 2015年

以root或普通用户身份登录并使用sudo,并按照以下说明进行操作
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.