服务器给多少内存给php,同样php代码不同服务器执行消耗内存不一致

消耗内存大的服务器配置为:1cpu 2G内存

消耗内存小的服务器配置为:1cpu 1G内存

都是nginx 1.10

php7.0

bVJThT?w=633&h=211

bVJThX?w=621&h=201

PHP代码里可以用

memory_get_usage/memory_get_peak_usage

获取内存使用情况,用

getrusage

获取CPU使用情况.注意,

memory_get_usage

不包括PHP进程本身占用的内存.

要看PHP进程本身占用的内存,可以用

top

或者

ps aux|head -n1 && ps aux|grep php-fpm

:

PID USER      PPID  NI    RES S  %CPU %MEM     TIME+ nTH P COMMAND

6152 root      1865   0  10.8m S   0.0  0.1   1:51.03   1 0 php-fpm: master process (/opt/php/5.4/etc/php-fpm.conf)                                            +

16523 png       6152   0  32.0m S   0.0  0.4   0:15.39   1 0 php-fpm: pool www

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root      6152  0.0  0.1 329392 11108 ?        Ss    2月12   1:51 php-fpm: master process (/opt/php/5.4/etc/php-fpm.conf)

png      16523  0.0  0.4 426180 32732 ?        S     2月25   0:15 php-fpm: pool www

里面的RES和RSS表示的就是PHP-FPM进程占用的物理内存,大小具体跟实际情况有关,如果opcache缓存了很多PHP脚本,内存占用则会大些,如果PHP加载了很多PECL扩展,内存也会大些.

如果你的PHP-FPM工作进程数量配置得很多,那么PHP整体占用得内存就会更大.对于非阻塞场景,PHP-FPM进程数配置为2倍CPU核心数足够,千万不要动不动就根据内存大小配置几百个进程,那会得不偿失.

如果存在阻塞脚本,那可以配置单独的动态PHP-FPM进程池来处理,把阻塞分离出来,具体可以看这里.

介个,这样比较没意义吧,一个脚本不可能放在什么地方都是一样的状态吧,这个跟环境相关,而不是一个普通的静态文本的理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值