首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu16.04未解释的交换用法

Ubuntu16.04未解释的交换用法
EN

Unix & Linux用户
提问于 2018-03-23 08:24:48
回答 1查看 355关注 0票数 1

我不明白为什么我的swap在我的Ubuntu16.04上变得满了,尽管我有很多可用的内存:

在查看实际使用swap的进程时:

代码语言:javascript
复制
************************************
Swap's process in count 1 
systemd : 1 : VmSwap:        520 kB
otrs.Daemon.pl : 21002 : VmSwap:        3324 kB
systemd-journal : 2326 : VmSwap:        2356 kB
lvmetad : 2353 : VmSwap:           8 kB
systemd-udevd : 2358 : VmSwap:      3052 kB
/usr/sbin/apach : 25162 : VmSwap:        176 kB
/usr/sbin/apach : 28879 : VmSwap:        176 kB
bash : 30064 : VmSwap:      1460 kB
/usr/sbin/apach : 34334 : VmSwap:        180 kB
otrs.Daemon.pl : 36841 : VmSwap:        3708 kB
otrs.Daemon.pl : 36847 : VmSwap:        2976 kB
/usr/sbin/apach : 39489 : VmSwap:        176 kB
/usr/sbin/apach : 39491 : VmSwap:        176 kB
/usr/sbin/apach : 39493 : VmSwap:        176 kB
/usr/sbin/apach : 39494 : VmSwap:        176 kB
/opt/otrs/bin/c : 39496 : VmSwap:        176 kB
/usr/sbin/apach : 39497 : VmSwap:        176 kB
/usr/sbin/apach : 39498 : VmSwap:        176 kB
otrs.Daemon.pl : 43266 : VmSwap:        4320 kB
sshd : 43477 : VmSwap:        12 kB
sshd : 43555 : VmSwap:        72 kB
bash : 43556 : VmSwap:      1328 kB
bash : 43577 : VmSwap:       212 kB
ldapsearch : 43623 : VmSwap:         672 kB
ldapsearch : 43625 : VmSwap:         648 kB
ldapsearch : 43741 : VmSwap:         636 kB
sshd : 44183 : VmSwap:        12 kB
sshd : 44257 : VmSwap:        48 kB
bash : 44258 : VmSwap:      1044 kB
otrs.Daemon.pl : 44373 : VmSwap:        5912 kB
otrs.Daemon.pl : 45169 : VmSwap:        4344 kB
lxcfs : 4987 : VmSwap:      2208 kB
vmtoolsd : 4991 : VmSwap:      27168 kB
cron : 5044 : VmSwap:        136 kB
snapd : 5053 : VmSwap:      4728 kB
systemd-logind : 5055 : VmSwap:       48 kB
accounts-daemon : 5057 : VmSwap:          52 kB
dbus-daemon : 5059 : VmSwap:           4 kB
rsyslogd : 5082 : VmSwap:         44 kB
otrs.Daemon.pl : 50961 : VmSwap:        4348 kB
sshd : 5141 : VmSwap:        588 kB
polkitd : 5149 : VmSwap:           4 kB
mysqld : 5153 : VmSwap:   675748 kB
mdadm : 5162 : VmSwap:         4 kB
master : 5459 : VmSwap:      360 kB
qmgr : 5462 : VmSwap:         68 kB
otrs.Daemon.pl : 57161 : VmSwap:        4324 kB
systemd : 57265 : VmSwap:        896 kB
(sd-pam) : 57274 : VmSwap:       572 kB
otrs.Daemon.pl : 57937 : VmSwap:       56068 kB
/usr/sbin/apach : 8414 : VmSwap:         176 kB
************************************
Swap's process in count 2 
systemd : 1 : VmSwap:        520 kB
otrs.Daemon.pl : 21002 : VmSwap:        3324 kB
systemd-journal : 2326 : VmSwap:        2356 kB
lvmetad : 2353 : VmSwap:           8 kB
systemd-udevd : 2358 : VmSwap:      3052 kB
/usr/sbin/apach : 25162 : VmSwap:        176 kB
/usr/sbin/apach : 28879 : VmSwap:        176 kB
bash : 30064 : VmSwap:      1460 kB
/usr/sbin/apach : 34334 : VmSwap:        180 kB
otrs.Daemon.pl : 36841 : VmSwap:        3708 kB
otrs.Daemon.pl : 36847 : VmSwap:        2976 kB
/usr/sbin/apach : 39489 : VmSwap:        176 kB
/usr/sbin/apach : 39491 : VmSwap:        176 kB
/usr/sbin/apach : 39493 : VmSwap:        176 kB
/usr/sbin/apach : 39494 : VmSwap:        176 kB
/usr/sbin/apach : 39496 : VmSwap:        176 kB
/usr/sbin/apach : 39497 : VmSwap:        176 kB
/usr/sbin/apach : 39498 : VmSwap:        176 kB
otrs.Daemon.pl : 43266 : VmSwap:        4320 kB
sshd : 43477 : VmSwap:        12 kB
sshd : 43555 : VmSwap:        72 kB
bash : 43556 : VmSwap:      1328 kB
bash : 43577 : VmSwap:       212 kB
ldapsearch : 43623 : VmSwap:         672 kB
ldapsearch : 43625 : VmSwap:         648 kB
ldapsearch : 43741 : VmSwap:         636 kB
sshd : 44183 : VmSwap:        12 kB
sshd : 44257 : VmSwap:        48 kB
bash : 44258 : VmSwap:      1044 kB
otrs.Daemon.pl : 44373 : VmSwap:        5912 kB
otrs.Daemon.pl : 45169 : VmSwap:        4344 kB
lxcfs : 4987 : VmSwap:      2208 kB
vmtoolsd : 4991 : VmSwap:      27168 kB
cron : 5044 : VmSwap:        136 kB
snapd : 5053 : VmSwap:      4728 kB
systemd-logind : 5055 : VmSwap:       48 kB
accounts-daemon : 5057 : VmSwap:          52 kB
dbus-daemon : 5059 : VmSwap:           4 kB
rsyslogd : 5082 : VmSwap:         44 kB
otrs.Daemon.pl : 50961 : VmSwap:        4348 kB
sshd : 5141 : VmSwap:        588 kB
polkitd : 5149 : VmSwap:           4 kB
mysqld : 5153 : VmSwap:   675748 kB
mdadm : 5162 : VmSwap:         4 kB
master : 5459 : VmSwap:      360 kB
qmgr : 5462 : VmSwap:         68 kB
otrs.Daemon.pl : 57161 : VmSwap:        4324 kB
systemd : 57265 : VmSwap:        896 kB
(sd-pam) : 57274 : VmSwap:       572 kB
otrs.Daemon.pl : 57937 : VmSwap:       56068 kB
/usr/sbin/apach : 8414 : VmSwap:         176 kB
************************************
Swap's process in count 3 
systemd : 1 : VmSwap:        520 kB
otrs.Daemon.pl : 21002 : VmSwap:        3324 kB
systemd-journal : 2326 : VmSwap:        2356 kB
lvmetad : 2353 : VmSwap:           8 kB
systemd-udevd : 2358 : VmSwap:      3052 kB
/usr/sbin/apach : 25162 : VmSwap:        176 kB
/usr/sbin/apach : 28879 : VmSwap:        176 kB
bash : 30064 : VmSwap:      1460 kB
/usr/sbin/apach : 34334 : VmSwap:        180 kB
/usr/sbin/apach : 39489 : VmSwap:        176 kB
/usr/sbin/apach : 39491 : VmSwap:        176 kB
/usr/sbin/apach : 39493 : VmSwap:        176 kB
/usr/sbin/apach : 39494 : VmSwap:        176 kB
/usr/sbin/apach : 39496 : VmSwap:        176 kB
/usr/sbin/apach : 39497 : VmSwap:        176 kB
/usr/sbin/apach : 39498 : VmSwap:        176 kB
otrs.Daemon.pl : 43266 : VmSwap:        4320 kB
sshd : 43477 : VmSwap:        12 kB
sshd : 43555 : VmSwap:        72 kB
bash : 43556 : VmSwap:      1328 kB
bash : 43577 : VmSwap:       212 kB
ldapsearch : 43623 : VmSwap:         672 kB
ldapsearch : 43625 : VmSwap:         648 kB
ldapsearch : 43741 : VmSwap:         636 kB
sshd : 44183 : VmSwap:        12 kB
sshd : 44257 : VmSwap:        48 kB
bash : 44258 : VmSwap:      1044 kB
otrs.Daemon.pl : 44373 : VmSwap:        5912 kB
otrs.Daemon.pl : 45169 : VmSwap:        4344 kB
lxcfs : 4987 : VmSwap:      2208 kB
vmtoolsd : 4991 : VmSwap:      27168 kB
cron : 5044 : VmSwap:        136 kB
snapd : 5053 : VmSwap:      4728 kB
systemd-logind : 5055 : VmSwap:       48 kB
accounts-daemon : 5057 : VmSwap:          52 kB
dbus-daemon : 5059 : VmSwap:           4 kB
rsyslogd : 5082 : VmSwap:         44 kB
otrs.Daemon.pl : 50961 : VmSwap:        4348 kB
sshd : 5141 : VmSwap:        588 kB
polkitd : 5149 : VmSwap:           4 kB
mysqld : 5153 : VmSwap:   675748 kB
mdadm : 5162 : VmSwap:         4 kB
master : 5459 : VmSwap:      360 kB
qmgr : 5462 : VmSwap:         68 kB
otrs.Daemon.pl : 57161 : VmSwap:        4324 kB
systemd : 57265 : VmSwap:        896 kB
(sd-pam) : 57274 : VmSwap:       572 kB
otrs.Daemon.pl : 57937 : VmSwap:       56068 kB
/usr/sbin/apach : 8414 : VmSwap:         176 kB
************************************
Swap's process in count 4 
systemd : 1 : VmSwap:        520 kB
otrs.Daemon.pl : 21002 : VmSwap:        3324 kB
systemd-journal : 2326 : VmSwap:        2356 kB
lvmetad : 2353 : VmSwap:           8 kB
systemd-udevd : 2358 : VmSwap:      3052 kB
/usr/sbin/apach : 25162 : VmSwap:        176 kB
/usr/sbin/apach : 28879 : VmSwap:        176 kB
bash : 30064 : VmSwap:      1460 kB
/usr/sbin/apach : 34334 : VmSwap:        180 kB
/usr/sbin/apach : 39489 : VmSwap:        176 kB
/usr/sbin/apach : 39491 : VmSwap:        176 kB
/usr/sbin/apach : 39493 : VmSwap:        176 kB
/usr/sbin/apach : 39494 : VmSwap:        176 kB
/usr/sbin/apach : 39496 : VmSwap:        176 kB
/usr/sbin/apach : 39497 : VmSwap:        176 kB
/usr/sbin/apach : 39498 : VmSwap:        176 kB
otrs.Daemon.pl : 43266 : VmSwap:        4320 kB
sshd : 43477 : VmSwap:        12 kB
sshd : 43555 : VmSwap:        72 kB
bash : 43556 : VmSwap:      1328 kB
bash : 43577 : VmSwap:       212 kB
ldapsearch : 43623 : VmSwap:         672 kB
ldapsearch : 43625 : VmSwap:         648 kB
ldapsearch : 43741 : VmSwap:         636 kB
sshd : 44183 : VmSwap:        12 kB
sshd : 44257 : VmSwap:        48 kB
bash : 44258 : VmSwap:      1044 kB
otrs.Daemon.pl : 44373 : VmSwap:        5912 kB
otrs.Daemon.pl : 45169 : VmSwap:        4344 kB
lxcfs : 4987 : VmSwap:      2208 kB
vmtoolsd : 4991 : VmSwap:      27168 kB
cron : 5044 : VmSwap:        136 kB
snapd : 5053 : VmSwap:      4728 kB
systemd-logind : 5055 : VmSwap:       48 kB
accounts-daemon : 5057 : VmSwap:          52 kB
dbus-daemon : 5059 : VmSwap:           4 kB
rsyslogd : 5082 : VmSwap:         44 kB
otrs.Daemon.pl : 50961 : VmSwap:        4348 kB
sshd : 5141 : VmSwap:        588 kB
polkitd : 5149 : VmSwap:           4 kB
mysqld : 5153 : VmSwap:   675748 kB
mdadm : 5162 : VmSwap:         4 kB
master : 5459 : VmSwap:      360 kB
qmgr : 5462 : VmSwap:         68 kB
otrs.Daemon.pl : 57161 : VmSwap:        4324 kB
systemd : 57265 : VmSwap:        896 kB
(sd-pam) : 57274 : VmSwap:       572 kB
otrs.Daemon.pl : 57937 : VmSwap:       56068 kB
/usr/sbin/apach : 8414 : VmSwap:         176 kB

有人能解释一下我为什么会发生这种事吗?即使有足够的可用内存,进程本身也可以交换吗?

编辑:

运行vmstat显示了两个siso的0(注意输出被截断了,我已经运行了相当长的时间):

EN

回答 1

Unix & Linux用户

发布于 2018-03-23 09:26:17

是的,即使有可用内存,进程也可以交换。这是由虚拟内存swappiness值控制的,如您所示,该值在您的系统上设置为60 (许多安装的默认设置)。红帽文件有一个很好的解释(这适用于任何Linux):

从0到100的值,它控制系统支持匿名内存或页缓存的程度。高值提高了文件系统的性能,同时积极地将较少活动的进程从物理内存中交换出来.低值可避免将进程从内存中交换出来,这通常会降低延迟,而代价是I/O性能。默认值为60。对于数据库工作负载,建议使用一个较低的替换值。例如,对于Oracle数据库,Red建议交换值为10。

如果要将其设置为较低的值,请例如编辑/etc/sysctl.conf并添加如下一行:

代码语言:javascript
复制
vm.swappiness=10

请注意,对于较新版本的systemd,您需要在/etc/sysctl.d/中编辑/创建文件。正如在Arch Wiki中所解释的:

注意:从207和21x版本,systemd只应用来自/etc/sysctl.d/*.conf/usr/lib/sysctl.d/*.conf的设置。如果您已经定制了/etc/sysctl.conf,则需要将它重命名为/etc/sysctl.d/99-sysctl.conf。如果您有例如/etc/sysctl.d/foo,则需要将其重命名为/etc/sysctl.d/foo.conf

然而,请记住,交换并不一定是一个问题。这完全取决于你的机器在做什么。在Ask Ubuntu上有一个优美而详细的答案解决了这个问题,我建议您阅读。基本上,除非你的机器感觉迟钝,否则就让它来吧。

进一步读:

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/433016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档