关于 Apache 进程内存使用的问题

关于 Apache 进程内存使用的问题

因此,每次我加载新页面时,我都会注意到打开了一个新的 HTTPD 进程,每次我单击页面时,每个进程都显示它正在使用 2-4.5% 的内存。这是否意味着每个进程都在使用 2-4% 的 RAM?这是一台全新的服务器,目前服务器上只有我一个人。

或者这是否意味着所有其他进程都已终止,只有新进程处于活动状态。因为我的 2048MB RAM 的 4% 已经是 82MB,仅用于一个进程!?!?

请告诉我,因为我正在尝试确定需要增强我的服务器以处理高流量。我预计在发布时每天可获得 20,000 个独立访问量。

我目前正在运行双四核 Xeon 服务器,内存只有 2GB,我将很快升级到 8GB 或更大。请告诉我您的建议!

谢谢

[root@D18634 log]# top | grep 'httpd'
11315 apache    15   0  362m  82m  24m R 12.3  4.1   0:03.00 httpd                     
11310 apache    16   0  322m  41m  21m S  5.7  2.1   0:02.98 httpd                     
11315 apache    15   0  362m  83m  25m S 24.3  4.1   0:03.73 httpd                     
11319 apache    16   0  324m  42m  20m R  1.0  2.1   0:01.85 httpd                     
11319 apache    16   0  362m  82m  23m R 78.5  4.1   0:04.21 httpd                     
11321 apache    16   0  323m  44m  23m S 35.3  2.2   0:04.13 httpd                     
11319 apache    15   0  361m  82m  23m S  8.3  4.1   0:04.46 httpd                     
11321 apache    15   0  323m  44m  23m S 35.9  2.2   0:05.21 httpd                     
11313 apache    15   0  324m  41m  19m S 48.6  2.1   0:03.23 httpd                     
11322 apache    16   0  354m  72m  20m R 11.0  3.6   0:05.11 httpd                     
11322 apache    16   0  354m  72m  20m S 23.9  3.6   0:05.83 httpd                     
11314 apache    16   0  355m  75m  22m R 18.3  3.7   0:04.64 httpd

答案1

你是正确的 - 一个 apache 进程使用了​​ 82MB 的物理内存。top(1) 输出中的第二个内存列是常驻大小。这是每个进程实际消耗的物理内存量。看起来系统上的每个 apache 进程都消耗了大约 41-82MB 的内存。查看你的 apache 配置(/etc/httpd/httpd.conf可能)并检查 MaxClients 指令 - 这是 apache 将尝试生成的最大工作程序数量。将其乘以 82MB,即可得到 apache 将尝试使用的物理内存量的最坏情况。如果该数字大于你安装的系统内存,则在 apache 负载过重的情况下,你的系统内存将被耗尽。

以下是一些Apache 调优技巧这可能会有帮助。

相关内容