
正文
php数据占用内存大小 php的数据是怎么样存在内存中的
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
一个php-cgi占用系统多大内存
在网上翻阅资料的时候会看到有人说一个php-cgi进程大约占用系统内存20M,但是php-cgi占用内存其实是与你的php.ini配置加载多少个.so(.dll)模块相关的,我们在linux系统下查看,可以用pman的命令:
pmap $(pgrep php-cgi | head -1)
[root@Smile ~]# pmap $(pgrep php-cgi | head -1)
2830: /home/pubsrv/php/bin/php-cgi --fpm --fpm-config /home/pubsrv/php/etc/php-fpm.conf
0000000000400000 6852K r-x-- /home/pubsrv/php/bin/php-cgi
0000000000cb1000 268K rw--- /home/pubsrv/php/bin/php-cgi
0000000000cf4000 60K rw--- [ anon ]
00000000016fd000 2216K rw--- [ anon ]
0000003c24a00000 128K r-x-- /lib64/ld-2.12.so (deleted)
0000003c24c1f000 4K r---- /lib64/ld-2.12.so (deleted)
0000003c24c20000 4K rw--- /lib64/ld-2.12.so (deleted)
0000003c24c21000 4K rw--- [ anon ]
0000003c24e00000 8K r-x-- /lib64/libdl-2.12.so (deleted)
0000003c24e02000 2048K ----- /lib64/libdl-2.12.so (deleted)
0000003c25002000 4K r---- /lib64/libdl-2.12.so (deleted)
0000003c25003000 4K rw--- /lib64/libdl-2.12.so (deleted)
0000003c25200000 1576K r-x-- /lib64/libc-2.12.so (deleted)
0000003c2538a000 2044K ----- /lib64/libc-2.12.so (deleted)
0000003c25589000 16K r---- /lib64/libc-2.12.so (deleted)
0000003c2558d000 4K rw--- /lib64/libc-2.12.so (deleted)
0000003c2558e000 20K rw--- [ anon ]
0000003c25600000 92K r-x-- /lib64/libpthread-2.12.so (deleted)
0000003c25617000 2048K ----- /lib64/libpthread-2.12.so (deleted)
0000003c25817000 4K r---- /lib64/libpthread-2.12.so (deleted)
0000003c25818000 4K rw--- /lib64/libpthread-2.12.so (deleted)
0000003c25819000 16K rw--- [ anon ]
0000003c25a00000 28K r-x-- /lib64/librt-2.12.so (deleted)
0000003c25a07000 2044K ----- /lib64/librt-2.12.so (deleted)
0000003c25c06000 4K r---- /lib64/librt-2.12.so (deleted)
0000003c25c07000 4K rw--- /lib64/librt-2.12.so (deleted)
0000003c25e00000 524K r-x-- /lib64/libm-2.12.so (deleted)
0000003c25e83000 2044K ----- /lib64/libm-2.12.so (deleted)
0000003c26082000 4K r---- /lib64/libm-2.12.so (deleted)
0000003c26083000 4K rw--- /lib64/libm-2.12.so (deleted)
0000003c26200000 84K r-x-- /lib64/libz.so.1.2.3 (deleted)
0000003c26215000 2044K ----- /lib64/libz.so.1.2.3 (deleted)
0000003c26414000 4K r---- /lib64/libz.so.1.2.3 (deleted)
0000003c26415000 4K rw--- /lib64/libz.so.1.2.3 (deleted)
0000003c26600000 116K r-x-- /lib64/libselinux.so.1.#prelink#.YPfIAE (deleted)
0000003c2661d000 2044K ----- /lib64/libselinux.so.1.#prelink#.YPfIAE (deleted)
0000003c2681c000 4K r---- /lib64/libselinux.so.1.#prelink#.YPfIAE (deleted)
0000003c2681d000 4K rw--- /lib64/libselinux.so.1.#prelink#.YPfIAE (deleted)
0000003c2681e000 4K rw--- [ anon ]
0000003c26a00000 928K r-x-- /usr/lib64/libstdc++.so.6.0.13 (deleted)
0000003c26ae8000 2048K ----- /usr/lib64/libstdc++.so.6.0.13 (deleted)
0000003c26ce8000 28K r---- /usr/lib64/libstdc++.so.6.0.13 (deleted)
0000003c26cef000 8K rw--- /usr/lib64/libstdc++.so.6.0.13 (deleted)
0000003c26cf1000 84K rw--- [ anon ]
0000003c26e00000 88K r-x-- /lib64/libgcc_s-4.4.7-20120601.so.1;529c1fe4 (deleted)
0000003c26e16000 2044K ----- /lib64/libgcc_s-4.4.7-20120601.so.1;529c1fe4 (deleted)
0000003c27015000 4K rw--- /lib64/libgcc_s-4.4.7-20120601.so.1;529c1fe4 (deleted)
0000003c27200000 88K r-x-- /lib64/libresolv-2.12.so (deleted)
0000003c27216000 2048K ----- /lib64/libresolv-2.12.so (deleted)
0000003c27416000 4K r---- /lib64/libresolv-2.12.so (deleted)
0000003c27417000 4K rw--- /lib64/libresolv-2.12.so (deleted)
0000003c27418000 8K rw--- [ anon ]
0000003c27a00000 12K r-x-- /lib64/libplds4.so (deleted)
0000003c27a03000 2044K ----- /lib64/libplds4.so (deleted)
0000003c27c02000 4K r---- /lib64/libplds4.so (deleted)
0000003c27c03000 4K rw--- /lib64/libplds4.so (deleted)
0000003c27e00000 16K r-x-- /lib64/libplc4.so (deleted)
0000003c27e04000 2044K ----- /lib64/libplc4.so (deleted)
0000003c28003000 4K r---- /lib64/libplc4.so (deleted)
0000003c28004000 4K rw--- /lib64/libplc4.so (deleted)
0000003c28200000 228K r-x-- /lib64/libnspr4.so (deleted)
0000003c28239000 2048K ----- /lib64/libnspr4.so (deleted)
0000003c28439000 4K r---- /lib64/libnspr4.so (deleted)
0000003c2843a000 8K rw--- /lib64/libnspr4.so (deleted)
0000003c2843c000 8K rw--- [ anon ]
0000003c28600000 148K r-x-- /usr/lib64/libnssutil3.so (deleted)
0000003c28625000 2044K ----- /usr/lib64/libnssutil3.so (deleted)
0000003c28824000 24K r---- /usr/lib64/libnssutil3.so (deleted)
0000003c2882a000 4K rw--- /usr/lib64/libnssutil3.so (deleted)
0000003c28a00000 408K r-x-- /lib64/libfreebl3.so (deleted)
0000003c28a66000 2048K ----- /lib64/libfreebl3.so (deleted)
0000003c28c66000 4K r---- /lib64/libfreebl3.so (deleted)
0000003c28c67000 4K rw--- /lib64/libfreebl3.so (deleted)
0000003c28c68000 16K rw--- [ anon ]
0000003c28e00000 28K r-x-- /lib64/libcrypt-2.12.so (deleted)
0000003c28e07000 2048K ----- /lib64/libcrypt-2.12.so (deleted)
0000003c29007000 4K r---- /lib64/libcrypt-2.12.so (deleted)
0000003c29008000 4K rw--- /lib64/libcrypt-2.12.so (deleted)
0000003c29009000 184K rw--- [ anon ]
0000003c29200000 1236K r-x-- /usr/lib64/libnss3.so (deleted)
0000003c29335000 2044K ----- /usr/lib64/libnss3.so (deleted)
0000003c29534000 20K r---- /usr/lib64/libnss3.so (deleted)
0000003c29539000 8K rw--- /usr/lib64/libnss3.so (deleted)
0000003c2953b000 8K rw--- [ anon ]
0000003c29600000 160K r-x-- /usr/lib64/libsmime3.so (deleted)
0000003c29628000 2048K ----- /usr/lib64/libsmime3.so (deleted)
0000003c29828000 12K r---- /usr/lib64/libsmime3.so (deleted)
0000003c2982b000 4K rw--- /usr/lib64/libsmime3.so (deleted)
0000003c29a00000 204K r-x-- /usr/lib64/libssl3.so (deleted)
0000003c29a33000 2048K ----- /usr/lib64/libssl3.so (deleted)
0000003c29c33000 8K r---- /usr/lib64/libssl3.so (deleted)
0000003c29c35000 4K rw--- /usr/lib64/libssl3.so (deleted)
0000003c29c36000 4K rw--- [ anon ]
0000003c29e00000 12K r-x-- /lib64/libcom_err.so.2.1 (deleted)
0000003c29e03000 2044K ----- /lib64/libcom_err.so.2.1 (deleted)
0000003c2a002000 4K r---- /lib64/libcom_err.so.2.1 (deleted)
0000003c2a003000 4K rw--- /lib64/libcom_err.so.2.1 (deleted)
0000003c2a200000 100K r-x-- /usr/lib64/libsasl2.so.2.0.23.#prelink#.BXW3hH (deleted)
0000003c2a219000 2044K ----- /usr/lib64/libsasl2.so.2.0.23.#prelink#.BXW3hH (deleted)
0000003c2a418000 4K r---- /usr/lib64/libsasl2.so.2.0.23.#prelink#.BXW3hH (deleted)
0000003c2a419000 4K rw--- /usr/lib64/libsasl2.so.2.0.23.#prelink#.BXW3hH (deleted)
0000003c2aa00000 1488K r-x-- /usr/lib64/libcrypto.so.1.0.0 (deleted)
0000003c2ab74000 2044K ----- /usr/lib64/libcrypto.so.1.0.0 (deleted)
0000003c2ad73000 100K r---- /usr/lib64/libcrypto.so.1.0.0 (deleted)
0000003c2ad8c000 40K rw--- /usr/lib64/libcrypto.so.1.0.0 (deleted)
0000003c2ad96000 16K rw--- [ anon ]
0000003c2ae00000 56K r-x-- /lib64/liblber-2.4.so.2.5.6.#prelink#.IEslwN (deleted)
0000003c2ae0e000 2044K ----- /lib64/liblber-2.4.so.2.5.6.#prelink#.IEslwN (deleted)
0000003c2b00d000 4K r---- /lib64/liblber-2.4.so.2.5.6.#prelink#.IEslwN (deleted)
0000003c2b00e000 4K rw--- /lib64/liblber-2.4.so.2.5.6.#prelink#.IEslwN (deleted)
0000003c2b200000 608K r-x-- /usr/lib64/libfreetype.so.6.3.22.#prelink#.GI1Kfx (deleted)
0000003c2b298000 2044K ----- /usr/lib64/libfreetype.so.6.3.22.#prelink#.GI1Kfx (deleted)
0000003c2b497000 24K rw--- /usr/lib64/libfreetype.so.6.3.22.#prelink#.GI1Kfx (deleted)
0000003c2b600000 260K r-x-- /lib64/libgssapi_krb5.so.2.2.#prelink#.gjYRNu (deleted)
0000003c2b641000 2048K ----- /lib64/libgssapi_krb5.so.2.2.#prelink#.gjYRNu (deleted)
0000003c2b841000 4K r---- /lib64/libgssapi_krb5.so.2.2.#prelink#.gjYRNu (deleted)
0000003c2b842000 8K rw--- /lib64/libgssapi_krb5.so.2.2.#prelink#.gjYRNu (deleted)
0000003c2ba00000 148K r-x-- /usr/lib64/libpng12.so.0.49.0.#prelink#.cL7qH2 (deleted)
0000003c2ba25000 2048K ----- /usr/lib64/libpng12.so.0.49.0.#prelink#.cL7qH2 (deleted)
0000003c2bc25000 4K rw--- /usr/lib64/libpng12.so.0.49.0.#prelink#.cL7qH2 (deleted)
0000003c2be00000 292K r-x-- /lib64/libldap-2.4.so.2.5.6.#prelink#.QXZutL (deleted)
0000003c2be49000 2048K ----- /lib64/libldap-2.4.so.2.5.6.#prelink#.QXZutL (deleted)
total 286016K
[root@Smile ~]#
可以看到我的一个php-cgi占用了大约28M
相关问答
Q1: php-fpm设置多少合适
1 那么,对于我们的服务器,选择哪种执行方式比较好呢?事实上,跟Apache一样,我们运行的PHP程序在执行完成后,或多或少会有内存泄露的问题。这也是为什么开始的时候一个php-fpm进程只占用3M左右内存,运行一段时间后就会上升到20-30M的原因了。所以,动态方式因为会结束掉多余 的进程,可以回收释放一些内存,所以推荐在内存较少的服务器或者VPS上使用。具体最大数量根据 内存/20M 得到。比如说512M的VPS,建议pm.max_spare_servers设置为20。至于pm.min_spare_servers,则建议根据服务器的负载情况来设置,比较合适的值在5~10之间。
2 然后对于比较大内存的服务器来说,设置为静态的话会提高效率。因为频繁开关php-fpm进程也会有时滞,所以内存够大的情况下开静态效果会更好。数量也可以根据 内存/30M 得到。比如说2GB内存的服务器,可以设置为50;4GB内存可以设置为100等
Q2: php数组以什么格式写入内存占用空间最小
一般来说php数据占用内存大小,PHP数组的内存利用率只有 1/10, 也就是说,一个在C语言里面100M 内存的数组,在PHP里面就要1G。特别是在PHP作为后台服务器的系统中,经常会出现内存耗费太大的问题。
因为这个是语言的问题,常规方案比较难以解决。下面是一种通过string 解决的方案。
复制代码 代码如下:
$total = 100000;
$double = "";
for ($i = 0; $i $total; $i++)
{
$double .= pack("d", $i + 0.1);
}
for ($i = 0; $i $total; $i++)
{
unpack("@" . ($i * 8) . "/d", $double);
}
这个例子用一个string 保存一个double 的数组。然后在使用的时候unpack出来。
当然,这会影响性能。要看具体的需求。
比如这样的情况下:
php数据占用内存大小你有10个数组,每个数组10M (1百万数据左右),那么十个要花费 100M内存。
再加上10个人并发的话,内存就会严重不够php数据占用内存大小了。
然后,在10个数组,不是每次都同时使用的。你可以,把他们保存成string
然后,在使用的时候,unpack某一个string变成一个数组。
Q3: 为什么我的PHP7.2.1内存最大限定5G,实际却无法超过1G
一般大型网站memory_limit用默认的128M都完全没问题php数据占用内存大小,你的要5G?是要一次性处理几个G的POST数据吗?那肯定是你的程序有问题,一般情况下不需要这么大内存占用的。
以下是php数据占用内存大小我个人看法,未经测试,权当参考php数据占用内存大小:尽管你的系统是64位的,但你的PHP是32位的,因此最大的内存寻址范围也就是2G,再加上PHP本身的占用,实际可供分配的就是1G了。
因此我认为你目前的重点不是如何扩大PHP的内存限定,而是要优化你的脚本代码。
Q4: php的最大内存限制是多少
这个看情况了,处理大数据肯定需要的内存更大,只是本地调试肯定用不了多少。
php.ini的内存限制默认为memory_limit = 128M,只要把memory_limit设为-1,就不会限制你跑cli脚本时的内存限制。
一般作为一台专门运行php的服务器,肯定要尽可能的把内存给于php运行,一台不够就追加。
Q5: 运行php程序文件占用多大内存
4781440这个事字节php数据占用内存大小,也就是大约4M
共享文件,按功能分大类,好维护,好修改php数据占用内存大小!
php内存占用过多主要是程序问题,比如把大数组,大数据读入进行处理!
你首页需要4M,那么256M也实在太少了点,静态化吧
vps?
php数据占用内存大小的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php的数据是怎么样存在内存中的、php数据占用内存大小的信息别忘了在本站进行查找喔。







