同一台服务器上运行 9 个 apache 进程:正常吗?

同一台服务器上运行 9 个 apache 进程:正常吗?

我注意到我的 Ubuntu 10.04 服务器变得非常慢。似乎 nTop 使用大部分内存存在问题。我可以在重新启动服务器后卸载它,因为在此之前它没有响应。
但卸载后我发现许多 Apache 进程使用了​​大量内存。由于我的服务器运行 webmin,我猜至少有 2 个不同的 Apache 在运行是正常的,但我不明白为什么我有这么多进程:

    698     mysql   147100 kB   /usr/sbin/mysqld
    1117    clamav  123380 kB   /usr/sbin/clamd
    8191    root    113148 kB   clamscan --no-summary --stdout -
    8211    root    108740 kB   clamscan --no-summary --stdout -
    720     bind    87288 kB    /usr/sbin/named -u bind
    1655    www-data    61132 kB    /usr/sbin/apache2 -k start
    1656    www-data    61132 kB    /usr/sbin/apache2 -k start
    1657    www-data    61132 kB    /usr/sbin/apache2 -k start
    1658    www-data    61132 kB    /usr/sbin/apache2 -k start
    1659    www-data    61132 kB    /usr/sbin/apache2 -k start
    1680    www-data    61132 kB    /usr/sbin/apache2 -k start
    1726    www-data    61132 kB    /usr/sbin/apache2 -k start
    1759    www-data    61132 kB    /usr/sbin/apache2 -k start
    1573    root    60616 kB    /usr/sbin/apache2 -k start
    798     postgres    45184 kB    postgres: autovacuum launcher process
    767     postgres    45048 kB    /usr/lib/postgresql/8.4/bin/postgres -D /var/lib/postgresql/8.4/main -c config_f ...
    796     postgres    45048 kB    postgres: writer process
    797     postgres    45048 kB    postgres: wal writer process
    1594    www-data    39588 kB    /usr/sbin/apache2 -k start

你觉得这正常吗?

答案1

对于一般的 Apache 安装(使用称为“预分叉”的系统),这是完全正常的。每个进程都会处理一个入站请求。平衡并发请求数与所用内存是扩展 Apache 的重要部分。

答案2

在 *nix 上,httpd 会生成多个进程来处理请求,并且它们会共享大部分内存,直到它们真正这样做为止。所以是的,这是正常的。

相关内容