四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

php5.2.0內(nèi)存管理改進(jìn)

php5.2.0的內(nèi)存管理做了較大的改進(jìn),某些情況下內(nèi)存不能釋放的問題不存在了。
測試php腳本(mem.php),我用echo N>>和sleep來控制腳本在某個(gè)階段暫停以便檢測狀態(tài)。
復(fù)制代碼 代碼如下:
<?php 
echo '1>>'; 
sleep(5); 

$o = array(); 
for ($i=0;$i<=100000;$i++) { 
    $o[]='aaaaaaaaaaaaaaaaaaaaa'; 

echo '2>>'; 
sleep(5); 

unset($o); 
echo '3>>'; 
while (true) { 
    echo '..'; 
    sleep(10); 

?> 
監(jiān)測內(nèi)存使用情況的bash script(注意:里面的”mem”是取自上面的php腳本名):

while true;do clear;ps au|grep -v "/(vi/|grep/)"|grep "/(mem/|RSS/)";sleep 2;done;
以下是$/usr/local/bin/php mem.php這個(gè)進(jìn)程在三種狀態(tài)(數(shù)組創(chuàng)建前,數(shù)組創(chuàng)建后,數(shù)組銷毀后)下,用5.1.6和5.2.0的php(我使用了一樣的configure參數(shù))測試的RSS(內(nèi)存使用值,單位KB)結(jié)果。

php5.1.6:
3164
18076
17572

php5.2.0:
4088
14400
4424
大家可以看到5.1.6這個(gè)版本,unset數(shù)組之后,內(nèi)存并沒有從進(jìn)程里釋放出來,雖然它是可以繼續(xù)被這個(gè)php進(jìn)程再利用,但是卻無法被系統(tǒng)的其他進(jìn)程所使用。而5.2.0則真正釋放出了內(nèi)存。

大家可能還注意到,在最開始,5.2.0的內(nèi)存使用比5.1.6多了幾個(gè)kb,這是由于5.2.0增加了一些新的東西,這個(gè)是很正常的。

另外php5.2.0的內(nèi)存分配也進(jìn)行了大的改進(jìn),官方的說法是對memory_limit的檢測由每次呼叫emalloc()的時(shí)候進(jìn)行改為直接檢測從系統(tǒng)請求的內(nèi)存數(shù)據(jù)塊(blocks)。需要更進(jìn)一步了解的朋友可以自己去研究代碼。而由于內(nèi)存分配的實(shí)現(xiàn)的更改,內(nèi)存控制可以更精確地被控制在memory_limit之下,也就是說以前php代碼里,如果有超過了memory_limit的內(nèi)存使用而沒有出錯(cuò)的,在php5.2.0里可能會(huì)報(bào)錯(cuò)。為了平衡這次改進(jìn),php5.2.0的默認(rèn)的memory_limit由以前的8MB改為了16MB.搜索源代碼可以看到這個(gè)修改(find . -name /*c -type f |xargs cat |grep memory_limit)。 

php技術(shù)php5.2.0內(nèi)存管理改進(jìn),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 苑琼丹三级| 菊花台在线电视剧免费观看| 欺辱尤娜| 婴儿什么时候添加辅食最好| 五年级上数学第一单元试卷| 扫毒3:人在天涯 电影| 八月照相馆| 保镖1993在线观看| 高天妮| 同志微电影| 轨迹地图| 神经刀| 六一儿童节小品剧本| 恐怖托马斯| 劫中劫| 《战长沙》电视剧| 建设工程监理规范最新版50319-2019| 蒋锐| 农村gaygayxxx| 日韩欧美动作影片| 凌晨晚餐| 韩孝周超异能族| kaori主演电影在线观看| 凌靖| 唐人街探案4免费观看高清版电影| 拆迁补偿合同| 描写动物的成语| 境界bleach千年血战| 古或仔| 啄木鸟丝袜| 汤姆·塞兹摩尔| 张艺馨个人资料| 游泳池电影| be小说| 植田圭辅| 迎宾进行曲| 2025微信头像最新版本| 小偷家族深度解析| 天下歌词a4纸打印| 古风男头| 宋元甫|