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이 표시됩니다 si
( so
출력이 잘리고 꽤 오랫동안 명령을 실행해 왔습니다).
답변1
예, 메모리를 사용할 수 있는 경우에도 프로세스를 교체할 수 있습니다. 이는 Virtual Memory Control 값에 의해 제어됩니다 swappiness
. 표시된 대로 이 값은 시스템에서 60(많은 설치의 기본값)으로 설정되어 있습니다. 이것Red Hat 문서좋은 설명이 있습니다(이는 모든 Linux에 적용됩니다).
교환성
시스템이 익명 메모리 또는 페이지 캐싱을 지원하는 정도를 제어하는 0에서 100 사이의 값입니다. 값이 높을수록 파일 시스템 성능이 향상되는 동시에 덜 활동적인 프로세스를 물리적 메모리에서 적극적으로 교체합니다. 값이 낮을수록 프로세스가 메모리에서 스와핑되는 것을 방지하므로 일반적으로 I/O 성능을 희생하면서 대기 시간이 줄어듭니다. 기본값은 60입니다.
데이터베이스 작업 부하에는 더 낮은 스왑 값을 사용하는 것이 좋습니다. 예를 들어, Oracle 데이터베이스의 경우 Red Hat은 스왑성 값 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
. 예를 들어/etc/sysctl.d/foo
으로 이름을 바꿔야 합니다/etc/sysctl.d/foo.conf
.
그러나 교체가 문제가 될 필요는 없다는 점을 명심하십시오. 그것은 모두 당신의 기계가 무엇을 하고 있는지에 달려 있습니다. 하나 있다매우 훌륭하고 상세한 답변이 문제는 Ask Ubuntu에서 해결되었습니다. 읽어보시길 권합니다. 기본적으로 컴퓨터가 느리다고 느끼지 않는 한 그대로 두십시오.
추가 자료: