0

<?php
ini_set("memory_limit", 20);
echo ini_get("memory_limit");
while(true){

}

如上面,我写了个测试,设置memory限制为20字节。
运行脚本php tt.php
输出设置的内存大小20

查看该进程的进程号

通过进程ID查看该进程占用内存,发现如下:rsz=43964,本人有些迷惑,为什么php设置的最大内存20 但是进程会消耗的内存超过20

求指点一二~不胜感激

查看全部 2 个回答

1

memory_limit = 128M 限制的是PHP脚本占用的内存,PHP进程占用的内存不包括在内.
memory_get_usage() 返回分配给PHP脚本的内存,单位是字节,同样不包括PHP进程的内存.
memory_get_peak_usage() 返回分配给PHP脚本的内存的峰值.