apache 在空闲时使用内存

apache 在空闲时使用内存

Centos 7 上的 Apache 2.4.6 占用了 2GB 的闲置内存。尾部访问日志显示没有使用,而且它不是公共服务器。

ps aux --sort=-%mem | awk'NR<=10{print $0}'

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
apache   28363  0.3 41.7 2102448 1620940 ?     S    Apr16  16:38 /usr/sbin/httpd -DFOREGROUND
mysql      870  0.0  3.3 802388 129660 ?       Ssl  Apr05   8:23 /usr/sbin/mysqld
apache   30986  0.2  1.3 534800 51272 ?        S    Apr15  13:06 /usr/sbin/httpd -DFOREGROUND
apache   26210  0.1  0.8 516828 33788 ?        S    Apr18   2:16 /usr/sbin/httpd -DFOREGROUND
apache   31230  0.1  0.8 516208 31580 ?        S    Apr15   9:45 /usr/sbin/httpd -DFOREGROUND
apache   30141  0.1  0.6 505848 23752 ?        S    Apr16   4:04 /usr/sbin/httpd -DFOREGROUND
apache    1938  0.7  0.5 503100 21036 ?        S    Apr18   7:40 /usr/sbin/httpd -DFOREGROUND
apache   25774  0.5  0.5 421680 20888 ?        S    Apr18   6:39 /usr/sbin/httpd -DFOREGROUND
apache   25768  0.6  0.4 416716 15948 ?        S    Apr18   8:55 /usr/sbin/httpd -DFOREGROUND

免费-m

              total        used        free      shared  buff/cache   available
Mem:           3789        1959         128         112        1701        1455
Swap:             0           0           0

这似乎指向一个缓存问题。服务器运行 99.9% 的 php 脚本,所以我不知道它甚至缓存了什么。除非我重新启动 apache,否则内存使用量将无限期地保持使用状态。

出现这个问题的原因是当我实际运行脚本时,服务器内存不足。你知道为什么空闲时会使用 2GB 内存吗?

答案1

这不是问题。Linux 内存不足的实际问题是页面调出到交换的速率过高、all​​ocstall 指示直接回收或 OOM killer。

您不能也不想减少缓存。它利用未使用的内存来加速 I/O,当用户进程需要更多内存时,它会很快放弃缓存。操作系统文件和您的应用程序最终都将被缓存,这就是为什么它看起来很大的原因。

标准解释器网站: https://www.linuxatemyram.com/

相关内容