一个交换分区的简单管理软件swap-control-gui
Tofloor
poster avatar
MeowSprite
deepin
2016-12-28 22:22
Author
本帖最后由 MeowSprite 于 2017-7-11 14:46 编辑

内存不够?电脑经常卡死?快使用这个破软件来最大化利用你的内存。
介绍
这是一个简单的swap相关的功能管理软件。交换分区是什么呢?其实就是类似windows的虚拟内存,在内存不够的时候,用磁盘临时保存部分内存。常常有人说用chrome或者java程序,内存不够,系统卡死。其实系统卡死很大原因就是因为磁盘IO卡死的原因,这里面内存交换就会导致大量磁盘IO,或者内存频繁交换也导致的程序卡死。内核里有两个功能模块zswap和zram其实很很好增强交换分区功能。开启之后,电脑就不卡了,chrome开20+网页也不是梦了,什么IDE,java程序随心跑(吹的夸张些)。所以做了这么个gui程序,可以简单地开启和调整这两个内核模块功能。另外还有个交换文件的功能,可以动态调整交换空间的大小。

使用方法
通常想要调整交换文件的大小可以直接通过 交换文件页面 里的那个 拉拽条 或 自己输入 就好了。
调整好自己想要的配置,然后点击保存
之后点击上面重启swap服务,就可以看到显示效果了。
想看交换分区的效果,打开系统监视器-资源,就可以看到下面的交换分区的信息了。一定要记得,任何修改都要保存之后,点击重启swap服务才能生效

第一次安装
注意第一次安装,打开软件之后,请选择开机启动服务。然后点击重启swap服务,这样就不需要重启就可以启动管理服务了

下载
64位:swap-control.tar.gz32位:swap-control-32.tar.gz
安装:解压双击deb就可以安装
注意:64位系统千万不要安装32位的,不然后果自负啊。github有打包安装的说明,可以自己尝试打包。

功能介绍【之如果你只要调整交换文件大小看不看无所谓系列】
zswap
在windows下是不是见过一个叫内存压缩的进程。相对应的这是一个linux下实现的内存压缩技术,实现在ram中压缩内存来缓解内存不足,也避免了内存swap的io消耗。zswap其实是对交换分区的一个缓冲功能,就是不常用的内存页在内存紧张的时候会被交换到交换空间,但是这个技术就是在内存里开一个压缩区,本来要被交换出去的内存先放到压缩区缓存一下(说不定这内存页说不定又会马上被用到),当压缩区要满了,就把压缩区的东西真正交换出去腾空间。这个功能模块启动时已经被默认加载到内核里了。文档:https://www.kernel.org/doc/Documentation/vm/zswap.txt
  • 压缩池比例:就是你的压缩池的大小,默认是你内存的20%,最好也就在这左右吧
  • 存储池类型:通俗些就是存储池的格式
  • 压缩算法:就是选用的压缩算法

Zram
Zram其实是从内存创建一个独立的块设备的功能。通俗点zram是在内存里开了一块区域当硬盘来用,所以也可以拿来当swap分区咯。当然也有压缩的功能。但是这个模块还没有普遍被大家接受,系统也没有默认加载这个模块,但是点击启用该功能后后,会自己加载这个内核模块。
文档:https://www.kernel.org/doc/Documentation/blockdev/zram.txt
  • Zram大小:我设定不超过内存的一半了
  • Zram Streams:压缩时候使用几个CPU核心,默认是使用一个核心。
  • Zram算法:压缩算法

交换文件
就是普通的交换文件的功能,来取代交换分区的功能。
  • 交换文件大小:自己随心调整就好。
  • 动态交换文件:其实就是动态调整swap文件的大小。实现的方式是内存不够了,申请一块swap文件用用,又不够了,再申请一块用用。内存空出来了,那就释放删掉swap文件,就是比上面多了个动态申请释放的效果。

  • 交换块大小:每个swap文件块的大小
  • 最大块数:就是最多多少个swap文件块,所以动态交换文件最高承受能力是 交换块大小×最大块数
  • 触发比例:swap剩下多少空间的时候,触发申请新的swap块。
  • 启用交换分区:这个没用,还没作。
注意这里的交换文件大小(就是固定大小的交换文件)和下面的动态交换文件是可以并存的。
还有交换分区的控制还没作。默认是加载所有的swap设备。但是swap分区的优先级被默认调到了最低。

常见问题
问:zswap和zram能不能共存啊?都开好,还是只开一个好啊?
答:zswap和zram是两个不同的东西,一个是替交换空间做缓存,一个是用内存建交换空间,所以是可以共存的。按道理来说用一个就足够了,推荐开是zswap。

问:交换文件支不支持btfs啊?
答:交换文件不支持btfs(个人不用,也不会去测试),当然不知道btfs的就不用管了。

问:交换分区和交换文件什么区别啊?
答:个人觉得没有什么大区别,交换文件依赖于文件系统中,不能被多个系统共有。但是交换文件可以容易调整大小。

Github:







Reply Favorite View the author
All Replies
3 / 4
To page
marsruc
deepin
2017-04-05 06:38
#41
哦,刚刚看到你附件上传日期了。
Reply View the author
gloryet
deepin
2017-04-21 05:52
#42
remark&remark
Reply View the author
marsruc
deepin
2017-05-14 23:45
#43
的确是,是不是zswap和zram还有swap只启用一个就行了呢?
Reply View the author
MeowSprite
deepin
2017-05-16 16:14
#44
https://bbs.deepin.org/post/133470
的确是,是不是zswap和zram还有swap只启用一个就行了呢?

选择一个就足够了,当然zswap和zram同时开也没问题。swap跟前面两个就没什么关系了。
Reply View the author
marsruc
deepin
2017-06-10 20:30
#45
另外想问问,同是开启zram和zswap的时候,优先级怎么设置?比如先使用zram,然后在使用zswap
Reply View the author
MeowSprite
deepin
2017-06-10 22:06
#46
https://bbs.deepin.org/post/133470
另外想问问,同是开启zram和zswap的时候,优先级怎么设置?比如先使用zram,然后在使用zswap ...

这个不能设置优先级,这两个不是同一个东西。
zram是用内存模拟了一个swap设备。(用zram的时候,可以看到监视器里的交换空间大小会变化)
zswap是swap的缓存机制,就是当把内存转移到swap设备之前,先进行压缩缓存一下(因为说不定刚缓存出去就要用呢)。
所以如果同时开启的话,一个内存页会先被zswap缓存,当zswap缓存满了之后,它会把压缩的内存页发送给swap设备,这个swap设备可以是zram的交换区,也可以磁盘上的交换区,当然在配置里已经把zram交换区的优先级设定比磁盘高了,所以会先到zram,zram满了就到磁盘。(当然这段半口胡,没有实际测试过)
总结:
内存页->zswap缓存->zram设备->磁盘
Reply View the author
marsruc
deepin
2017-07-05 17:54
#47
能出一个32bit的包么。我在32位下,打包后出错
Reply View the author
marsruc
deepin
2017-07-11 06:15
#48
32bit下打包老出问题,求大神抽空打个32位的包。感谢
Reply View the author
MeowSprite
deepin
2017-07-11 22:48
#49
https://bbs.deepin.org/post/133470
32bit下打包老出问题,求大神抽空打个32位的包。感谢

打包了。还有也可以自己尝试打包一下,现在在32位下打包应该没问题了。
Reply View the author
marsruc
deepin
2017-07-12 02:47
#50
https://bbs.deepin.org/post/133470
打包了。还有也可以自己尝试打包一下,现在在32位下打包应该没问题了。

感谢,已经测试,可用。建议深度收录到应用商店。https://bbs.deepin.org/user/48640
Reply View the author
nocmt
deepin
2017-07-16 06:23
#51
不错,谢谢!
Reply View the author
yexue
deepin
2017-08-18 18:14
#52
好东西就要顶
Reply View the author
amingro
deepin
2018-01-20 02:54
#53
大佬,顶!d=====( ̄▽ ̄*)b
Reply View the author
把一切操作变成GUI
deepin
Backbone of ecological co-construction group
2018-01-21 22:09
#54
https://bbs.deepin.org/post/133470
刚刚测试了一下,不开zswap和zram的情况下,2g内存,开超过8个chrome门户首页的页面,系统就卡死不动了,鼠 ...

牛。。。。。。。我之前也有过一直在读磁盘卡死的情况。。。。。现在赶紧试试才行
Reply View the author
mxdlzg
deepin
2018-04-08 05:54
#55
开启交换文件之后开机巨慢,因为swap uuid每次都变,也没法挂载
Reply View the author
司南
deepin
2018-04-08 06:12
#56
大佬,大佬
虽然已经很久没有用交换空间了,但是装上它以防万一吧。
Reply View the author
marsruc
deepin
2018-06-08 04:11
#57
感谢楼主作品,楼主的作品是我每台deepin电脑的必装产品
Reply View the author
botao
deepin
2019-06-03 19:31
#58
https://bbs.deepin.org/user/24890 您好,我们非常诚挚的特别邀请您参加“2019深度软件大赛”,您现在只需要提交相关信息即视为报名成功(报名表在附件中),在报名成功后,您可以继续完善您的作品,后期将作品移植到国产CPU平台,也有机会接触到国产桌面计算机产品。

本次大赛的奖品也非常丰厚,不仅有奖金,还有深度周边大礼包等奖品,我们非常期待您能参加本次大赛,关于大赛的介绍可见【大赛官网】,期待您的回复。请将参赛报名表填完完成后发送至https://bbs.deepin.org/module的邮箱,非常期待您的作品。
Reply View the author
xuey
deepin
2020-07-21 21:29
#59
20版本不能用,大佬更新一下
Reply View the author
rekees2020
deepin
2020-07-21 22:04
#60
zram占用的内存是动态分配还是一设置就独占?
Reply View the author
3 / 4
To page