如何防止 Ubuntu Server 进入睡眠/休眠状态

如何防止 Ubuntu Server 进入睡眠/休眠状态

我正在办公桌下的一个盒子上运行最新的 Ubuntu Server(确切地说是昨天下载并安装的)。我安装了 trac 和 OpenSSH。两者间歇性地变得不可用,好像服务器已经进入睡眠状态,这似乎很奇怪,因为对我来说,服务器的整个概念是它始终处于打开/可用状态。

该服务器仅在局域网上使用。

我尝试添加acpi=off到 /etc/default/grub,运行更新并重新启动,没有任何区别。

目前,我已打开 SSH,如果我将其保留一段时间,它将保持连接状态,但当我重新使用它时,延迟非常严重。上次发生此睡眠/休眠问题时,我不得不插入键盘和显示器才能使其恢复。

有什么想法或建议吗?

答案1

我知道这是一篇老帖子,但我遇到了同样的问题,很难找到合适的答案。

我的装有 Ubuntu Server 的笔记本电脑会进入白色屏幕保护程序,不久之后一切都会失去与服务器的连接。当我使用笔记本电脑上的键盘退出屏幕保护程序时,一切都能够再次连接。acpi=off、setterm -blank 0 和类似问题中描述的其他选项从未起作用,直到我从 Unix 和 Linux SE 中找到了一个可行的答案。

采用此解决方案后,我的笔记本电脑仍然进入白色屏幕保护程序,但我不再与其上运行的任何服务(SSH,SFTP,HTTP)失去连接。

此命令禁用暂停:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

以下命令将其恢复:

sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target

答案2

尝试使用

setterm -blank 0

每次启动后都需要输入,但系统会保持运行。

答案3

您可以尝试 Caffeine。您可以使用“caffeinate”命令来防止服务器在给定命令期间休眠(请参阅http://www.webupd8.org/2015/01/caffeine-app-gets-its-indicator-back.html用于语法)或者只是将其设置为始终防止空闲。

答案4

setterm -blank 0添加到 GRUB 启动命令中的命令通常会被内核忽略,我发现自己不得不使用向上箭头功能一遍又一遍地快速输入它。从根终端输入命令 15 或 20 次后,它似乎有效。我尽可能快地输入它,只要按下必要的 2 个键(即向上箭头,然后按 Enter 键),通常可以让终端保持打开状态。

请注意,关闭通过命令`人为保持打开的终端setterm -blank 0似乎被内核解释为完全错误的“指示”,即它有权独立进入睡眠/休眠模式。我建议您在 tty2 或 tty3 中启动根终端并使其保持运行。只要终端程序保持活动状态,至少在我的系统上,我似乎可以允许保持控制台监视器正常运行。

setterm -blank 0不是解决谁授予系统独立进入睡眠/休眠模式的权限以及我如何重新控制我的系统的问题。对我来说,重要的是我的文件服务器应该始终在线且可用。为了保持我的服务器运行,我亲自重写了一些内核模块。在我完成这些修改后,我将永久禁用软件更新,我的问题将得到解决,至少在我购买需要更新内核的某些新硬件之前,然后,为了保持我的服务器运行,我将被迫再次重写部分内核。

相关内容