![为什么 apache(httpd 进程)使用交换空间?](https://linux22.com/image/681119/%E4%B8%BA%E4%BB%80%E4%B9%88%20apache%EF%BC%88httpd%20%E8%BF%9B%E7%A8%8B%EF%BC%89%E4%BD%BF%E7%94%A8%E4%BA%A4%E6%8D%A2%E7%A9%BA%E9%97%B4%EF%BC%9F.png)
以下是顶部。我不明白为什么 httpd 进程要使用交换空间。
top - 13:49:45 up 28 days, 2:11, 4 users, load average: 1.31, 1.32, 1.20
Tasks: 262 total, 1 running, 260 sleeping, 0 stopped, 1 zombie
Cpu(s): 17.4%us, 1.6%sy, 0.0%ni, 80.7%id, 0.0%wa, 0.0%hi, 0.3%si, 0.1%st
Mem: 15404040k total, 15071684k used, 332356k free, 711036k buffers
Swap: 8388604k total, 6264k used, 8382340k free, 5362172k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ SWAP COMMAND
1674 root 20 0 11372 1708 1704 S 0.0 0.0 0:00.06 852 udevd
5639 apache 20 0 443m 14m 4840 S 0.0 0.1 0:00.00 848 httpd
22758 root 20 0 443m 25m 16m S 0.0 0.2 16:21.29 848 httpd
5550 apache 20 0 551m 27m 11m S 0.0 0.2 0:00.07 736 httpd
5552 apache 20 0 551m 27m 11m S 0.0 0.2 0:00.05 736 httpd
5566 apache 20 0 552m 29m 12m S 0.0 0.2 0:00.24 736 httpd
5575 apache 20 0 551m 28m 11m S 0.0 0.2 0:00.25 736 httpd
5638 apache 20 0 552m 28m 11m S 0.0 0.2 0:00.28 736 httpd
5645 apache 20 0 551m 28m 11m S 3.3 0.2 0:00.10 736 httpd
5519 apache 20 0 552m 28m 11m S 0.0 0.2 0:00.14 732 httpd
5521 apache 20 0 551m 27m 11m S 0.0 0.2 0:00.09 732 httpd
5536 apache 20 0 552m 28m 11m S 0.0 0.2 0:00.15 732 httpd
5548 apache 20 0 552m 28m 11m S 0.0 0.2 0:00.15 732 httpd
5567 apache 20 0 552m 29m 11m S 0.0 0.2 0:00.21 732 httpd
5568 apache 20 0 552m 29m 11m S 0.0 0.2 0:00.45 732 httpd
5642 apache 20 0 551m 28m 11m S 4.0 0.2 0:00.12 732 httpd
5430 apache 20 0 553m 30m 12m S 0.0 0.2 0:00.50 728 httpd
答案1
如果它们是长寿命进程,那么这是很正常的:默认情况下,Linux 内核仅在 RAM 完全填满时才使用交换;相反,它使用交换来存储(或交换)长寿命但很少使用(不活动)的内存块。
此行为可以通过vm.swappiness
范围。
无论如何,如果没有很好的理由,我建议您不要更改默认行为。