PHP memory_get_usage()管理記憶體

來源:互聯網
上載者:User

我們在實際編碼中,要想實現對記憶體的查看和操作,許多程式員們第一個想到的就是PHP memory_get_usage()這個PHP指令碼記憶體函數。
下面是PHP memory_get_usage()使用樣本:
echo memory_get_usage(), '<br />'; // 313864  
$tmp = str_repeat('http://blog.huachen.me/', 4000);  
echo memory_get_usage(), '<br />'; // 406048  
unset($tmp);  
echo memory_get_usage(); // 313952 
上面的程式後面的注釋代表了它們的輸出(單位為 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 來分析

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.