安装uswsusp

Ubuntu gnu/linux只需

代码:
sudo aptitude install uswsusp

Arch gnu/linux系统

代码:
sudo pacman -S uswsusp

下面两段Ubuntu跳过, 直接看最后的让gnome(或者Hal)改用uswsusp方式休眠

修改配置/etc/suspend.conf(Ubuntu已经自动配置好了且Ubuntu下的文件是/etc/uswsusp.conf)

代码:
resume device = <path_to_resume_device_file>

中的<path_to_resume_device_file>改成你的swap分区如

代码:
resume device = /dev/sda2

uswsusp还可以压缩内存镜像, 不仅能使swape分区大大小于内存, 更能加快恢复的过程(因为读硬盘的时间减少了).
去掉compress前面的注释, 即

代码:
compress = y

在文件最后添加一行, 清楚设置系统关闭而不是重启.

代码:
shutdown method = shutdown

重新创建intramfs(Ubuntu已经自动重建了)
修改/etc/mkinitcpio.conf
在hook行filesystems前加入uresume(如果有resume, 去掉resume)

代码:
HOOKS="base udev autodetect pata scsi sata uresume filesystems"

然后重建intramfs

代码:
sudo mkinitcpio -p kernel26

现在先在终端中测试一下
休眠

代码:
sudo s2disk

挂起

代码:
sudo s2ram

或者

代码:
sudo s2ram --force

使Gnome(或者说Hal)改用uswsusp方法休眠

代码:
sudo su
echo "SLEEP_MODULE=uswsusp">/etc/pm/config.d/module

然后就有近乎完美的休眠, 挂起了.
我的笔记本内存为被显卡用了128MB的1G内存
sawp只有500多MB
挂起和休眠不会像以前那样老是死掉.
休眠后恢复从grub开始计时只需12秒(而用原来的方法需要15秒, 可能内存大优势优势会更明显)
快! 人能感觉到的快!

解决休眠后屏幕黑屏
发现其原因是休眠时启动的锁定屏幕的进程和s2disk冲突.
所以解决方法就是让s2disk先sleep几秒钟等锁定屏幕完成后再运行.
编辑
/usr/sbin/pm-hibernate

代码:
#!/bin/sh

下面添加一行

代码:
sleep 5

同理可用修改/usr/sbin/pm-suspend

 
待机 sudo s2ram --force

swap分区不足ubuntu休眠的更多相关文章

  1. 阿里云服务器创建swap分区

    阿里云服务器使用了4核8G内存配置,但最近由于jenkins构建时执行gradle打包安卓应用,导致即时的内存严重不足,线上应用长时间无法访问. 执行free命令才发现,swap分区一直是没有创建的. ...

  2. Ubuntu 16.04创建Swap分区或增加Swap分区容量(转)

    要在Ubuntu中要创建Swap分区主要有如下2种方式: 一.传统创建方式 一般情况下,我们都会使用dd命令来预先创建交换分区文件,然后再用/dev/zero将该文件的内容全部置零,创建时还将用到bs ...

  3. Ubuntu Server Swap 分区设置

    方案一:仅在内存耗尽的情况下才使用 swap 分区 # 首先进入 sudo 模式 sysctl vm.swappiness=0 # 临时生效 echo "vm.swappiness = 0& ...

  4. Ubuntu 新建swap分区及启用

    个人电脑配置:500G机械硬盘+16G NGFF SSD+8G Physical Memory 之前安装Ubuntu16.04,默认装到NGFF的SSD里,/和swap分区一共才16G,于是删除swa ...

  5. Ubuntu下调整swap分区的大小

    转自:http://blog.chinaunix.net/uid-7573623-id-2048964.html 由于安装oracle 的时候,swap太小不能继续安装,于是想有什么方法在不不用安装o ...

  6. ubuntu 创建swap分区

    通常,Linux系统中swap分区可以通过两种方式指定,分别为:一.在磁盘分区的时候格式化一个swap分区:二.在文件系统中创建一个swap文件作为swap分区.此文主要介绍第二种方式.步骤如下: 1 ...

  7. Ubuntu增加Swap分区大小

    参考:http://blog.csdn.net/mznewfacer/article/details/7334592 以下摘自上述地址内容,并做了点小修改: 1.首先用命令free查看系统内 Swap ...

  8. Ramdisk虚拟内存盘,Swap分区

    虚拟内存盘是通过软件将一部分内存(RAM)模拟为硬盘来使用的一种技术.相对于直接的硬盘文件访问来说,这种技术可以极大的提高在其上进行的文件访问的速度.但是RAM的易失性也意味着当关闭电源后这部分数据将 ...

  9. linux swap 分区那点事儿

    前言 前段时间在用程序对较大数据进行处理时,发现自己电脑原有内存不够用而经常行卡死,于是想到了利用swap分区来扩容内存的方式.现在做一个简要的总结: swap分区的概念 初试swap分区是在进入实验 ...

随机推荐

  1. JAVA实操项目:转账接口设计

    在一个项目中,一般都会支付相关的业务,而涉及到支付必定会有转账的操作,转账这一步想起来算是比较关键的部分,这个接口的设计能力,也大致体现出一个人的水平. 昨天碰到了一个题目: 尝试用java编写一个转 ...

  2. RTTI(运行时类型识别),typeid,dynamic_cast

    dynamic_cast注意: 1.只能应用于指针和引用的转换: 2.要转换的类型中必须包含虚函数: 3.转换成功则返回地址,如果失败则返回NULL: 参见项目:RTTI

  3. Spring Cloud 入门教程(二): 配置管理

    使用Config Server,您可以在所有环境中管理应用程序的外部属性.客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring ...

  4. Axure 动态面板的状态与尺寸

    知识点: 1.动态面板的状态下相当动态面版的模式,当符合某种条件的话就选择对应的动态面板的状态 2.动态面板的尺寸可以根据内容自动调整大小 本节教程主要分为一下图片两种场景: 出现动态面板中的两种.一 ...

  5. Spring 拦截器实现+后台原理(MethodInterceptor)

    MethodInterceptor MethodInterceptor是AOP项目中的拦截器(注:不是动态代理拦截器),区别与HandlerInterceptor拦截目标时请求,它拦截的目标是方法. ...

  6. Watering Grass UVA - 10382

    喷水装置的圆心和半径确定,就能确定左端和右端.开始时pos=0,选取左端小于pos,右端最大的更新pos. #include <iostream> #include <cstdio& ...

  7. Stanford: Creating a Hadoop-2.x project in Eclipse

    Creating a Hadoop-2.x project in Eclipse http://snap.stanford.edu/class/cs246-data-2014/hw0.pdf Hado ...

  8. python安装pandas和lxml

    一.安装python 二.安装pip 三.安装mysql-connector(window版):下载mysql-connector-python-2.1.3,解压后进入目录,命令安装:pip inst ...

  9. 2. 搭建DRF项目

    企业项目开发流程 一.需求分析 1.企业的web项目类型: 商城 门户网站[企业站和门户站] 社交网络 资讯论坛 内部系统 个人博客 内容收费站 前端的静态页面制作,外界开发的时候,是照着psd/pn ...

  10. php 中文字符串反转

    /** * * 中文字符串倒序 * @param str $str * return str **/ function str_en_desc($str){ $len=mb_strlen($str); ...