安装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. sklearn preprocessing (预处理)

    预处理的几种方法:标准化.数据最大最小缩放处理.正则化.特征二值化和数据缺失值处理. 知识回顾: p-范数:先算绝对值的p次方,再求和,再开p次方. 数据标准化:尽量将数据转化为均值为0,方差为1的数 ...

  2. Git安装与使用

    转载自:https://www.cnblogs.com/smuxiaolei/p/7484678.html git 提交 全部文件 git add .  git add xx命令可以将xx文件添加到暂 ...

  3. CSS opacity的兼容写法

    opacity{ opacity:0.5; filter:alpha(opacity=50);  //filter 过滤器   兼容IE678 }

  4. BroadcastReceiver(广播)的静态注册和动态注册 --Android开发

    BroadcastReceiver是安卓四大组件之一,本例通过代码的方式演示静态注册和动态注册. 1.静态注册 静态注册只需要AndroidManifest.xml中进行配置: AndroidMani ...

  5. Android中简单活动窗口的切换--Android

    本例实现Android中简单Activity窗口切换:借助intent(意图)对应用操作(这里用按钮监听)等的描述,Android根据描述负责找对应的组件,完成组件的调用来实现活动的切换……案例比较简 ...

  6. WCF开发框架形成之旅---WCF的几种寄宿方式

    WCF开发框架形成之旅---WCF的几种寄宿方式 WCF寄宿方式是一种非常灵活的操作,可以在IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为调用者 ...

  7. 关于ActionBar 左侧添加完返回后 点击无效的问题

    ActionBar actionBar =getSupportActionBar(); if(actionBar!=null){ actionBar.setHomeAsUpIndicator(R.mi ...

  8. pytorch backward问题

    pytorch中关于backward的很有意思的一个问题 <https://blog.csdn.net/shiheyingzhe/article/details/83054238> 但是我 ...

  9. TP5中即点即改,json分页,单删

    HTML页面: <!doctype html><html lang="en"><head> <meta charset="UTF ...

  10. spring中集成shiro

    Shiro的组件都是JavaBean/POJO式的组件,所以非常容易使用Spring进行组件管理,可以非常方便的从ini配置迁移到Spring进行管理,且支持JavaSE应用及Web应用的集成. 在示 ...