请教一个apache内存的算法
比如在php.ini里设置:memory_limit = 512M //最大内存
memory = 16M // 单页面最大内存
现在比如有一个a.php<?php
include(b.php);// 或者 require(b.php); b.php为一个空页面
echo (memory_get_usage(true)/1024).'KB';
?>打印出来 784KB。那么apache真的只消耗了784KB的内存吗?
可实际上,ps -auxf | sort -nr -k 4 | head -10 一个php文件在linux里真的只消耗784KB吗?(返回的值远大于784,是不是memory = 16M,单个httpd就需要消耗16MB?)另外,include或者require一个文件,是不是相对于消耗掉2个httpd进程?
比如在php.ini里设置:memory_limit = 512M //最大内存
memory = 16M // 单页面最大内存
现在比如有一个a.php<?php
include(b.php);// 或者 require(b.php); b.php为一个空页面
echo (memory_get_usage(true)/1024).'KB';
?>打印出来 784KB。那么apache真的只消耗了784KB的内存吗?
可实际上,ps -auxf | sort -nr -k 4 | head -10 一个php文件在linux里真的只消耗784KB吗?(返回的值远大于784,是不是memory = 16M,单个httpd就需要消耗16MB?)另外,include或者require一个文件,是不是相对于消耗掉2个httpd进程?
返回分配给PHP的内存量
算一个进程,要区分线程和进程的定义。
apache(或其他web服务器)只是响应http请求,启动并等待php的完成
apache的内存消耗量至于并发响应http请求的数量有关
那么linux里一个http进程,比如说显示12M,实际上包括php,js,css文件,是不是就是一个PHP页面打开时,客户端从服务器端下载的所有文件大小?