查找用于设置 MaxClients 的单个 Apache 进程的平均大小

Ana*_*nan 6 memory-usage apache-2.2

pgrep apache2在运行 Apache 的 ubuntu 10.4 上尝试了 pmap |grep total 并且 o/p 是这样的:

总计 47768K

总计 48048K

总计 48048K

总计 48048K

总计 48048K

总计 48048K

这是否意味着每个子进程占用 48 MB 的内存。你能帮我找到每个进程的确切内存使用情况吗。期待回复

HTT*_*500 21

这是我用来近似平均 httpd(如果在 Debian 发行版上,则替换 apache2)进程大小的近似值:

ps -ylC httpd --sort:rss | awk '{sum+=$8; ++n} END {print "Tot="sum"("n")";print "Avg="sum"/"n"="sum/n/1024"MB"}'
Run Code Online (Sandbox Code Playgroud)

就像 symcbean 所说的那样,您应该占用大约 80% 的服务器内存并将其除以平均进程大小以确定您的 MaxClients 上限。

干杯


sym*_*ean 0

您真的不想知道计算实际内存占用量有多么复杂。

尝试绘图

ps -ef | grep httpd | wc -l
Run Code Online (Sandbox Code Playgroud)

(httpd进程数)

针对第一个数字

free | grep 'buffers/cache'
Run Code Online (Sandbox Code Playgroud)

(使用的内存量)。

对于不同的负载水平。

请记住,缓存很重要 - 如果您的网络服务器执行任何I/O,那么缓存越少,速度就越慢。根据粗略的经验法则,您希望将 maxclients 设置为小于 80% 内存已用完的值。