Linux Deepin 15.11 手动增加 swap 方法 解决内存不够 home 编辑时间 2019/07/31 ![](/api/file/getImage?fileId=60a61c7116199b501c02476b) ## 背景 本人机器是 `小米笔记本12.5air` 初代 基本配置如下: - CPU : Intel Core M-6Y30 - 内存 : 4G (LPDDR3 1866 mhz) - 硬盘 : (原装) 128GB SATA - 硬盘 : (加装) (主硬盘) PM981 512G (nvme) 直接做成了双系统 - Linux Deepin 15.11 (主力开发) - Windows 10 企业LTSC 最近在deepin下开发了一段时间,虽然CPU常常满载,但还勉强够用,没有明显的卡死的情况。最大的问题还是内存4G比较吃紧,同时运行 `Chrome` + `idea` + `webstorm` + `Navicat(wine)` 显得捉襟见肘,4G内存全满,4G swap交换区也接近95%,内存焊死在主板上,没能力升级,但swap的默认4G还是可以手动修改的。 **另外还有一个考虑,pm981的性能也是不用担心,虽然在这台机器受到了主板南桥芯片的限制,依然能跑出接近2G读取 1.3G写入的连续速度,4k分数也是不俗的。当交换区并不会拖垮整机速度很多。** ## 折腾 **注意:后面的内容是直接操作系统重要文件和重要配置,具有较大的风险,需要有一定折腾精神,不建议轻易尝试!!!** 说了那么多废话开始正文。。。 Linux Deepin 15.11 在我的电脑配置下,安装用默认配置,swap分配的是4G,单文件形式,位置是`/swapfile` (听说有些电脑会不分配swap) 那么大致折腾的流程就是 1. 新建一个20G的swap文件 2. 配置成swap文件 3. 修改系统配置,开机自动识别新swap文件 4. 重启 5. 删除旧文件,腾出空间 具体命令 ```shell # 先直接root sudo su # 新建一个交换区文件,关键参数是count=8192,意思是8G,具体可以根据需要来设置 dd if=/dev/zero of=/root/swapfile bs=1M count=4096 # 建立swap的文件系统 mkswap /root/swapfile # 启用swap文件 swapon /root/swapfile # 赋权 chmod 644 /root/swapfile # 修改系统开机启动配置 vim /etc/fstab # 已经有一行旧的配置 # /swapfile none swap defaults 0 0 # 注销掉 # 新增一行 /root/swapfile none swap defaults 0 0 ``` 接下来在deepin自带的系统管理器里,新旧的swap都会工作 我这里看到的是24G 重启电脑,旧的4G交换区就会失效 就可以看到新的交换区的容量 例如20G 这时候旧的4G交换区已经没有用了,可以直接删除 ```shell sudo rm /swapfile ``` ## 补充 增加了swap后,还需要设置系统使用swap的使用率 配置位置是 `/etc/sysctl.conf` 其中有一行 `vm.swappiness = 0` 也就是当内存完全不够的时候再使用swap 如果是内存非常吃紧的云主机 建议将这个值改为 `60` 并重启后生效 ## 测试 暴力测试一下,看看效果如何 运行了 chrome 和 firefox 都开了20多个页面 idea 5个项目,项目全debug启动 webstorm 3个项目,全部dev启动 其他杂七杂八的开了一堆 并且全部最小化,放置了一段时间后 效果如图 ![](/api/file/getImage?fileId=60a61c7116199b501c02476c) 交换空间大约消耗了7GB。。。。 **所以说一般电脑设置个8GB交换空间就绰绰有余了!!!** ## END 再总结一下,本方法适合内存较小且硬盘是固态硬盘性能强劲的机器,使用后可以在一定程度下增加电脑多开的能力,但也不是万能的。 参考: [https://blog.csdn.net/qq_35448976/article/details/75113789](https://blog.csdn.net/qq_35448976/article/details/75113789) 送人玫瑰,手留余香 赞赏 Wechat Pay Alipay centos7.4 卸载jdk8 mysql5.7 安装openjdk11 mysql8 升级最新技术 jdk11.0.4 mysql8.0.17