Linux内核收到一项新的补丁请求,允许用户在计算机进入休眠状态的过程中取消该操作,但这项工作更广泛的意义可能更为重要。
这个新的征求意见稿来自Collabora公司的Muhammad Anjum。Collabora从事大量开源软件开发工作,尽管其在LibreOffice上的工作可能最为人所知。(这项工作甚至可能会加速,因为今年早些时候,该公司与致力于LibreOffice WASM版本开发的Allotropia公司合并。)
休眠过程可能需要一段时间。正如征求意见稿中所说,在Anjum的机器上需要大约20秒。提议的改动很简单:它添加了一个通过按电源按钮来取消进程的机制。问题在于,正如Anjum接下来解释的原因,这比听起来要复杂得多。
休眠通常是一个相当棘手的领域。Ubuntu默认禁用休眠功能,并有一个详细的调试页面。休眠问题可能相当严重,会导致数据丢失。例如,一些机器成功休眠,然后也成功恢复——但在唤醒时,键盘和鼠标可能无法工作,让你被锁在外面,无法干净地保存你的工作。这就是为什么一些发行版默认关闭它——其他任何做法都有数据丢失的风险。因此,如果你启用它,你可能想要反复尝试,所以能够取消进程对我们来说听起来不错。
我们强烈怀疑,如果人们记得更新他们的系统固件,会发现休眠更加可靠,但遗憾的是,很少有人费心去做这件事。如今,有非常有用的fwupd工具包,但这也有一个问题——对于系统或主板固件,这需要UEFI启动模式。它还需要一个大的ESP,我们见过在空间不足时失败的情况。这意味着fwupd对较旧的机器帮助较少,而这些机器可以说最需要它。
由于这些问题,休眠支持是Linux支持中一个相对被忽视的领域。它的工作原理很简单:当你告诉你的机器休眠时,它将内存中的所有数据保存到SSD或硬盘上,加上操作系统状态的快照,然后关机。这是英特尔定义的四个睡眠级别中最深的一个。正如Arch wiki详细解释的那样,这些级别是挂起到空闲、待机、挂起到内存和休眠,也称为挂起到磁盘。
休眠的好处是,当计算机处于这种状态时,它完全不耗电。你甚至可以取出它的电池——如果你使用的是足够老的笔记本电脑型号,可以这样做——并将其放在托运行李中,只将电池放在随身行李中——正如国际法规出于充分理由所要求的那样。(只需看看本周早些时候锂电池爆炸后机舱顶部起火的视频,迫使中国国际航空公司航班紧急降落。)
然而,休眠也有缺点。与Windows不同,Linux休眠到你用于虚拟内存的任何交换空间:交换文件或专用交换分区。这意味着休眠需要与计算机中物理内存一样大的交换卷。(这可能会有所不同——内存在存储时会被压缩,所以代码无法提前准确知道需要多少空间。)因此,如果你的机器正在积极使用一些交换空间,除非你有足够的空交换可用,否则无法休眠。对于负载繁重的系统,这可能意味着你需要比内存更多的交换空间。由于现代PC有数十到数百GB的内存,通常根本不需要交换空间——这意味着让空的交换空间闲置未用,以防你想要休眠你的PC,似乎是对驱动器空间的浪费。
即使有所有这些注意事项,它仍然是一个有用的工具,特别是以混合睡眠的形式,这是一个试图提供两全其美的巧妙技巧。混合睡眠想法的要点是你的机器在磁盘上创建一个休眠映像,然后它挂起到内存。如果它有足够的电池,当你唤醒它时,它从睡眠中唤醒,这相对较快;如果电池耗尽,那么它会从休眠中唤醒。我们很高兴看到它得到内核开发者的一些关注,我们希望它在未来可能变得更加普遍,而不是更少。
附注:Windows的做法
Windows使用单独的文件来存储内存映像。它叫做C:\HIBERFIL.SYS。如果你不经常使用Windows,或者你双重启动并想要禁用有问题的快速启动功能,你可以通过禁用休眠来回收几GB空间。在管理员模式命令提示符窗口中只需要一个命令:
powercfg /h off
Q&A
Q1:Linux休眠功能为什么默认被禁用?
A:许多Linux发行版如Ubuntu默认禁用休眠功能,因为休眠问题可能导致严重后果,包括数据丢失。比如有些机器休眠和恢复都成功,但唤醒后键盘鼠标可能无法工作,用户被锁在外面无法保存工作。
Q2:Linux休眠需要多大的交换空间?
A:Linux休眠需要与计算机物理内存一样大的交换空间,因为它要将内存数据保存到交换文件或交换分区中。由于内存会被压缩存储,具体需要的空间大小无法提前准确确定,负载繁重的系统可能需要比内存更多的交换空间。
Q3:什么是混合睡眠模式?
A:混合睡眠是一种巧妙的技术,结合了休眠和睡眠的优点。机器会在磁盘上创建休眠映像,然后挂起到内存。如果电池充足,唤醒时从睡眠恢复(较快);如果电池耗尽,则从休眠恢复,提供两全其美的解决方案。
好文章,需要你的鼓励
为了确保生成内容的专业度,夸克算法团队已经与通义实验室成立了联合研发小组,专注于搜索推理与可信生成。
这项由伊利诺伊大学厦巴纳-香槟分校和滑铁卢大学联合完成的研究,开发了名为VideoScore2的AI视频评估系统,能够像人类专家一样从视觉质量、文本对齐和物理一致性三个维度对AI生成视频进行详细评估,并提供透明的分析过程。该系统在多项测试中显著超越现有评估工具,在准确率上提升近6个百分点,为AI视频行业提供了标准化、可解释的质量评估解决方案,有望推动整个领域的技术进步。
OpenAI于周二发布AI浏览器ChatGPT Atlas,目标是让ChatGPT成为搜索和问答的首选界面而非谷歌。该浏览器目前仅支持Mac,但正在开发Windows、iOS和Android版本。Atlas将ChatGPT设为默认搜索选项,并具备记忆功能,可结合浏览历史提供个性化答案。与其他AI浏览器不同,Atlas更专注于强化ChatGPT生态系统,为OpenAI提供更多用户数据和分发控制权,而非改善传统浏览体验。
滑铁卢大学研究团队提出批评强化学习新方法,让AI模型在学习编程的同时学会批评代码质量。CRITIQUE-CODER模型采用8:2混合训练,不仅保持编程能力还获得代码评价能力。实验显示,该方法让小参数模型超越大模型,4B参数版本在LiveCodeBench达59分,超越基础模型4.8分。更重要的是,批评能力可迁移到逻辑推理等其他领域,为AI训练范式转变指明新方向。