关于swapfile的问题
Tofloor
poster avatar
130******52
deepin
2018-01-23 00:33
Author
本帖最后由 jackyting825 于 2018-1-22 17:00 编辑

现在是12G的物理内存+12G的swap,但是发现自从升级到15.5后,只要物理内存占用到60%这个值的时候,系统就会自动把一些占用稍稍比较大的程序放进swap里面去了.这样导致每次切换到该程序的时候要从swap里面先去拿回,造成卡顿现象.
请问一下论坛的亲们,怎么设置或者采用什么工具可以设置一个阀值,比如设定90%,当物理内存占用达到90%这个值的时候系统才将不在前台暂时未用到的程序放进swap里面去.https://bbs.deepin.org/user/101846  , @jingle

Reply Favorite View the author
All Replies
1 / 2
To page
avatar
Dracarys
deepin
2018-01-23 01:16
#1
本帖最后由 gaoyanglion 于 2018-1-22 17:18 编辑
  1. sudo gedit /etc/sysctl.conf
Copy the Code

  1. vm.swappiness=10
Copy the Code


重启系统后生效

试试

如果还卡,执行

  1. gsettings set com.deepin.dde.startdde swap-sched-enabled false
Copy the Code

Reply View the author
avatar
duanyao
deepin
2018-01-23 01:19
#2
执行一下这两个命令:
cat /proc/sys/vm/swappiness
swapon -s

另外说一下硬盘的型号。

我觉得你这卡顿恐怕跟交换空间关系不大,而是与具体的程序有关。请说明是切换到什么程序的时候卡顿?
Reply View the author
avatar
130******52
deepin
2018-01-23 01:26
#3
https://bbs.deepin.org/post/152215
执行一下这两个命令:
cat /proc/sys/vm/swappiness
swapon -s

常用的idea或者datagrip,chrome.钉钉等等都会出现短暂的卡顿现象..尤其是swap占用比较大的时候卡顿时间明显延长的..记得在15.5之前是不会这样的,至少是在物理内存占用到85%以上程序才会入驻swap的
Reply View the author
avatar
130******52
deepin
2018-01-23 01:31
#4
https://bbs.deepin.org/post/152215
重启系统后生效

试试

swappiness默认值就是10了
Reply View the author
avatar
duanyao
deepin
2018-01-23 01:38
#5
https://bbs.deepin.org/post/152215
常用的idea或者datagrip,chrome.钉钉等等都会出现短暂的卡顿现象..尤其是swap占用比较大的时候卡顿时间明 ...

执行
sudo sysctl vm.drop_caches=3
以及
cat /proc/meminfo

另外你可以用 atop 看到交换内存的使用量的( swin swout 栏)。
http://www.cnblogs.com/bangerlee/archive/2011/12/23/2294090.html
Reply View the author
avatar
130******52
deepin
2018-01-23 01:56
#6
https://bbs.deepin.org/post/152215
执行
sudo sysctl vm.drop_caches=3
以及

麻烦问一下deepin下怎么修改swappiness这个的值..在/etc/sysctl.conf后面加了vm.swappiness=0重启后用cat /proc/sys/vm/swappiness查看,还是默认的值10
Reply View the author
avatar
duanyao
deepin
2018-01-23 02:10
#7
本帖最后由 duanyao 于 2018-1-22 18:20 编辑
https://bbs.deepin.org/post/152215
麻烦问一下deepin下怎么修改swappiness这个的值..在/etc/sysctl.conf后面加了vm.swappiness=0重启后用cat ...

改 swappiness 很多情况下意义不大,尤其是企图减少交换往小了改的,所以我才一开始没教你怎么改。
swappiness 最小是 0,最大是 100, 0 和 10 差别真心微乎其微。
网上能找到的很多关于 swappiness 解释都是错的,我给几个正确的吧:
https://unix.stackexchange.com/q ... et-to-60-by-default
https://en.wikipedia.org/wiki/Swappiness

如果你的机器剩余内存很多就开始频繁交换,那当然是不正常的,但这与 swappiness 的值应该没什么关系,我要对症下药嘛。

你改 swappiness 不生效的问题,是 deepin 的一个 bug,你看了应该就知道怎么改了
https://bbs.deepin.org/post/146882
Reply View the author
Comments
windcz91
2018-01-24 02:19
厉害了老哥。。。
avatar
Dracarys
deepin
2018-01-23 02:18
#8
https://bbs.deepin.org/post/152215
swappiness默认值就是10了
  1. gsettings set com.deepin.dde.startdde swap-sched-enabled false
Copy the Code


试试这个,官方给的方案
Reply View the author
avatar
130******52
deepin
2018-01-23 02:34
#9
https://bbs.deepin.org/post/152215
试试这个,官方给的方案

好的.这是是永久的还是临时性的?
Reply View the author
avatar
Dracarys
deepin
2018-01-23 02:43
#10
https://bbs.deepin.org/post/152215
好的.这是是永久的还是临时性的?

永久的,我也遇到过类似问题,执行后就没事了。
Reply View the author
avatar
130******52
deepin
2018-01-23 17:10
#11
https://bbs.deepin.org/post/152215
改 swappiness 很多情况下意义不大,尤其是企图减少交换往小了改的,所以我才一开始没教你怎么改。
swappi ...

好的.多谢.我先试下这几种方法
Reply View the author
avatar
130******52
deepin
2018-01-23 17:10
#12
https://bbs.deepin.org/post/152215
永久的,我也遇到过类似问题,执行后就没事了。

多谢.我执行了,先看看有效果没
Reply View the author
avatar
130******52
deepin
2018-01-23 17:24
#13
https://bbs.deepin.org/post/152215
永久的,我也遇到过类似问题,执行后就没事了。

没有效果哎.问题依旧
Reply View the author
avatar
duanyao
deepin
2018-01-23 17:53
#14
https://bbs.deepin.org/post/152215
没有效果哎.问题依旧

贴一下切换程序时 sudo atop 2 的结果吧。
此外你可以先禁用交换文件,再切换程序看是否卡顿。
Reply View the author
avatar
130******52
deepin
2018-01-23 18:05
#15
https://bbs.deepin.org/post/152215
贴一下切换程序时 sudo atop 2 的结果吧。
此外你可以先禁用交换文件,再切换程序看是否卡顿。 ...

我已经禁用swap了.禁用后我特意试了内存占用达到80%切换程序都不会出现卡顿的.
Reply View the author
avatar
duanyao
deepin
2018-01-23 19:27
#16
本帖最后由 duanyao 于 2018-1-23 11:31 编辑
https://bbs.deepin.org/post/152215
我已经禁用swap了.禁用后我特意试了内存占用达到80%切换程序都不会出现卡顿的. ...

那就这么办吧,虽然原因没有查明。
另外可以试试 zram:
https://bbs.deepin.org/post/148661
Reply View the author
avatar
Lotuso
deepin
2018-01-23 22:46
#17
vm.swappiness=10 就可以了
Reply View the author
avatar
130******52
deepin
2018-01-24 00:26
#18
https://bbs.deepin.org/post/152215
vm.swappiness=10 就可以了

这个值在deepin下默认就是10.....
Reply View the author
avatar
ax******er@126.com
deepin
2018-01-24 04:41
#19
机械硬盘是瓶颈
Reply View the author
avatar
130******52
deepin
2018-01-24 17:15
#20

这个不是问题的症结所在...是在它的内存管理有bug.剩余内存还有几个G就开始用swap空间了.这明显不合理
Reply View the author
1 / 2
To page