AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 429882
Accepted
ysalmon
ysalmon
Asked: 2018-03-14 00:21:20 +0800 CST2018-03-14 00:21:20 +0800 CST 2018-03-14 00:21:20 +0800 CST

为什么从休眠状态恢复需要 10 分钟,如何避免这种情况?

  • 772

我正在使用内核 4.4.0-116-generic(但早期版本也是如此)和 16 GB RAM 运行 XUbuntu 16.04。我使用的是“传统”硬盘驱动器(无 SSD),而我的 swappiness 为 0(RAM 很少满)。

我在休眠时遇到了以下情况:休眠正常需要不到 2 分钟,但从它恢复需要很多很多时间,直到应用程序响应(今天需要 10 多分钟才能到达 light-locker 提示)。

我不认为这是可用的(从休眠状态恢复比启动到新会话并重新打开程序需要更多时间)。

我怎样才能提高性能?我是唯一遇到这些问题的人吗?

诚然,现在的内存使用量是 8.8 GB,但让我烦恼的是休眠和恢复时间之间的差异。我从其他问题中了解到,这可能是因为在休眠期间,内核冻结了所有进程并将 RAM 整块转储到交换,而在恢复时它只是让进程在交换中请求它们的页面。

这是一个有效的解释吗?如果是这样,为什么要这样做,因为从硬盘驱动器读取大块比随机访问更快?我可以将休眠配置为不以这种方式进行吗?问题“在从休眠状态恢复时恢复内存中/交换页面状态”似乎相关,但我不知道足够多的页面来真正理解它们是否在做什么(“注意标记哪些页面在磁盘上和在RAM,然后在恢复时恢复这个确切的状态”)很有用,我也不知道该怎么做。

swap hibernate
  • 2 2 个回答
  • 1853 Views

2 个回答

  • Voted
  1. Best Answer
    Thomas
    2018-03-14T05:13:15+08:002018-03-14T05:13:15+08:00

    我认为您的经历对于冬眠也很常见。磁盘挂起,尤其是在使用旋转磁盘时。

    从内核文档中,提到了一种解决方法,它似乎与您发布的链接的想法有关。如果我做对了,这只会立即清空交换,而不是逐步恢复。但它仍然必须读取所有使用的交换,并且可能需要一些时间。

    Q: 恢复后,系统频繁分页,导致交互性很差。

    答:试试跑步

    猫 /proc/[0-9] /maps | grep / | sed 的:。/:/:' | 排序-u | while read file do test -f "$file" && cat "$file" > /dev/null done

    简历后。交换 -a; swapon -a 也可能有用。

    您可能想要测试的是suspend-to-ram或suspend-to-both ,这在Arch Wiki中有很好的解释。基本上:

    • suspend-to-ram不会关闭计算机电源,而是将其置于省电模式。如果电池电量耗尽,则状态会丢失并可能导致问题
    • suspend-to-both类似于suspend-to-ram,但也将状态保存到swap中,这样可以在电池耗尽后恢复

    根据您的环境,如何启动挂起/休眠方法,您可以配置它,例如在 XFCE 中使用xfce4-power-manager GUI。

    • 2
  2. abchk1234
    2019-02-13T10:01:51+08:002019-02-13T10:01:51+08:00

    在阅读了此线程中共享的有用链接并尝试了一些事情之后,以下是对我有用的方法。

    默认/sys/power/image_size设置为 RAM 的 2/5。我的系统 RAM 为 12 Gb,交换文件大小为 8 Gb。在这种情况下/sys/power/image_size,大约为 5 Gb。

    休眠时,如果内存使用量超过此限制,系统需要很长时间才能恢复。增加到/sys/power/image_size8 Gb(交换内存大小)后,恢复时间大大改善!

    内核文档说它可以安全地增加/sys/power/image_size. 系统 RAM 的 2/5 的默认限制看起来太低了。

    • 1

相关问题

  • 为什么 Linux 在 VM 中需要交换空间?

  • 当根分区和 RAM 足够大时,是否需要交换分区?[复制]

  • Linux 交换分区是否支持修剪?

  • 在 Arch Linux 中手动安装交换文件而不是交换分区

  • 使用 zswap 和 max_pool_percent = 100 防止 zram LRU 反转

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve