本文目錄一覽:
- 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
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/184904.html