为什么 Apache 运行这么多进程?这里的内存过多?

Tre*_*ott 17 ubuntu performance memory apache-2.2

我注意到 Apache 在我的 LAMP 服务器(ubuntu 10.10)上运行多个进程。我只是在运行一个使用 MySQL 作为数据库的 Wordpress 站点。似乎 www-data 运行 apache2 的次数比它应该多(也使用太多内存),我是否正确:

ID      Owner       Size        Command   
31200   www-data    251236 kB   /usr/sbin/apache2 -k start
20678   www-data    250948 kB   /usr/sbin/apache2 -k start
25781   www-data    248888 kB   /usr/sbin/apache2 -k start
31045   www-data    248844 kB   /usr/sbin/apache2 -k start
19926   www-data    246480 kB   /usr/sbin/apache2 -k start
20749   www-data    239380 kB   /usr/sbin/apache2 -k start
32616   www-data    238632 kB   /usr/sbin/apache2 -k start
8846    mysql   238128 kB   /usr/sbin/mysqld
24178   www-data    234228 kB   /usr/sbin/apache2 -k start
32618   www-data    232344 kB   /usr/sbin/apache2 -k start
32615   www-data    232204 kB   /usr/sbin/apache2 -k start
19805   root    208156 kB   /usr/sbin/apache2 -k start
Run Code Online (Sandbox Code Playgroud)

Paw*_*cki 19

Apache 正在运行多个进程,以便在收到客户端请求时让它们准备就绪。生成服务器进程很慢,因此最好让一个进程等待客户端。

对于内存使用,您应该考虑 RES 大小(如 top 所示),即任务使用的物理内存量。

为什么你认为你有太多的 apache2 进程使用了​​太多的内存?你能指望什么?你为什么这么期待?

  • Linux 将尝试保留大部分已使用的内存。如果没有其他东西可以放入,它将使用 RAM 作为缓存和磁盘缓冲区。空内存是浪费内存(如果您没有用完 RAM)。 (2认同)