Ubuntu 16.04 无法解释的交换空间使用情况

Ubuntu 16.04 无法解释的交换空间使用情况

我不明白为什么我swap的 Ubuntu 16.04 已经满了,尽管我有足够的可用内存:

在此输入图像描述

在此输入图像描述

查看实际使用的进程时swap

************************************
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显示 0 两个siso请注意,输出被截断,并且我已经运行该命令相当长的时间):

在此输入图像描述

答案1

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

交换性

0 到 100 之间的值,控制系统支持匿名内存或页面缓存的程度。高值可以提高文件系统性能,同时积极地将不太活跃的进程从物理内存中交换出来。较低的值可以避免将进程交换出内存,这通常会降低延迟,但会牺牲 I/O 性能。默认值为 60。

建议数据库工作负载使用较低的交换值。例如,对于 Oracle 数据库,Red Hat 建议 swappiness 值为 10。

如果您想将其设置为较低的值(例如 10),请编辑/etc/sysctl.conf并添加如下行:

vm.swappiness=10

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

注意:从版本 207 和 21x 开始,systemd 仅应用/etc/sysctl.d/*.conf和中的设置/usr/lib/sysctl.d/*.conf。如果您自定义过/etc/sysctl.conf,则需要将其重命名为/etc/sysctl.d/99-sysctl.conf.如果您有eg /etc/sysctl.d/foo,则需要将其重命名为/etc/sysctl.d/foo.conf

但是,请记住,交换不一定是问题。这完全取决于您的机器正在做什么。有一个很好又详细的答案在 Ask Ubuntu 上解决了这个问题,我建议您阅读。基本上,除非你的机器感觉很慢,否则就顺其自然吧。

进一步阅读:

相关内容