本文目录一览:
- 1、PHP管理内存函数 memory_get_usage()使用介绍
- 2、如何修改PHP的memory
- 3、如何获知PHP程序占用多少内存memory
- 4、phpstorm一直出现out of memory怎么解决
- 5、如何增加PHP的内存memory
- 6、在php.ini中把memory_limit改成256M了,都重启服务器了,在phpinfo()中还是显示128M,是怎回事?
PHP管理内存函数 memory_get_usage()使用介绍
下面是PHP
memory_get_usage()使用示例:
复制代码
代码如下:
echo
memory_get_usage(),
'br
/';
//143952
$tmp
=
str_repeat('',
4000);
echo
memory_get_usage(),
'br
/';
//232048
unset($tmp);
echo
memory_get_usage();
//143952
上面的程序后面的注释代表了它们的输出(单位为
byte(s)),也就是当时
PHP
脚本使用的内存(不含
memory_get_usage()
函数本身占用的内存)
由上面的例子可以看出,要想减少内存的占用,可以使用
PHP
unset()
函数把不再需要使用的变量删除。类似的还有:PHP
mysql_free_result()
函数,可以清空不再需要的查询数据库得到的结果集,这样也能得到更多可用内存。
PHP
memory_get_usage()还可以有个参数,$real_usage,其值为布尔值。默认为
FALSE,表示得到的内存使用量不包括该函数(PHP
内存管理器)占用的内存;当设置为
TRUE
时,得到的内存为包括该函数(PHP
内存管理器)占用的内存。
所以在实际编程中,可以用PHP
memory_get_usage()比较各个方法占用内存的高低,来选择使用哪种占用内存小的方法。
常用的检测:
用microtime函数就可以分析程序执行时间
memory_get_usage可以分析内存占用空间
SQL的效率可以使用打开慢查询查看日志分析
SQL
找到有瓶颈的使用EXPLAIN
来分析
如何修改PHP的memory
找到解决方法: php.ini配置文件
中有三处地方需要改动: upload_max_filesize memory_limit post_max_size
这三个值都根据实际情况改下,重启服务器以后,虽然导入时仍然显示是 最大限制:2,048 KB) ; 但实际上已经可以导入很大的数据库了。。。
如何获知PHP程序占用多少内存memory
PHP性能优化过程中需要获取PHP内存消耗,使用memory_get_usage()函数可获取当前的内存消耗情况,函数使用简单,这里讨论一下memory_get_usage()函数的用法与实例
三,基础用法与实例
1,获取当前的内存消耗量
复制代码代码如下:
?php
echo memory_get_usage();
$var = str_repeat("liuhui", 10000);
echo memory_get_usage();
unset($var);
echo memory_get_usage();
?
分别输出:62328 122504 62416
说明:memory_get_usage()函数输出的数值为bytes单位
2,格式化memory_get_usage()输出
复制代码代码如下:
?php
function convert($size){
$unit=array('b','kb','mb','gb','tb','pb');
return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];
}
echo convert(memory_get_usage(true));
?
输出:256 kb
3,自定义函数获取数组或变量值大小
复制代码代码如下:
?php
function array_size($arr) {
ob_start();
print_r($arr);
$mem = ob_get_contents();
ob_end_clean();
$mem = preg_replace("/\n +/", "", $mem);
$mem = strlen($mem);
return $mem;
}
$memEstimate = array_size($GLOBALS);
?
phpstorm一直出现out of memory怎么解决
CF出现out of memory指的是系统物理内存不足,这时候如果继续玩会对电脑有损伤。可以通过以下步骤解决: 打开运行窗口,可以快捷键"WIN+R"打开,输入“cmd”,然后点开。 输入“BCDEdit /set PAE forceenable Windows”指令,按回车。 再输入“Bcdedi
如何增加PHP的内存memory
memory_limit = 128M ;
在php的配置文件:php.ini里面有怎么一个成熟,应该可以设置。大约在306行左右。
在php.ini中把memory_limit改成256M了,都重启服务器了,在phpinfo()中还是显示128M,是怎回事?
看看你修改的php.ini位置与phpinfo()下的Loaded Configuration File路径是否一致 这个php.ini是你服务器下的php.ini而不是php中的php.ini