小編給大家分享一下php中內(nèi)存管理的案例分析,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)是一家專業(yè)提供咸豐企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為咸豐眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。一、php內(nèi)存管理概述——Zend引擎
由于計(jì)算機(jī)的內(nèi)存由操作系統(tǒng)進(jìn)行管理,所以普通應(yīng)用程序是無法直接對內(nèi)存進(jìn)行訪問的。
應(yīng)用程序只能向操作系統(tǒng)申請內(nèi)存,通常的應(yīng)用也是這么做的,在需要的時(shí)候通過類似malloc之類的庫函數(shù) 向操作系統(tǒng)申請內(nèi)存。
在一些對性能要求較高的應(yīng)用場景下是需要頻繁的使用和釋放內(nèi)存的, 比如Web服務(wù)器,編程語言等,由于向操作系統(tǒng)申請內(nèi)存空間會(huì)引發(fā)系統(tǒng)調(diào)用, 系統(tǒng)調(diào)用和普通的應(yīng)用層函數(shù)調(diào)用性能差別非常大,因?yàn)橄到y(tǒng)調(diào)用會(huì)將CPU從用戶態(tài)切換到內(nèi)核, 因?yàn)樯婕暗轿锢韮?nèi)存的操作,只有操作系統(tǒng)才能進(jìn)行,而這種切換的成本是非常大的, 如果頻繁的在內(nèi)核態(tài)和用戶態(tài)之間切換會(huì)產(chǎn)生性能問題。
鑒于系統(tǒng)調(diào)用的開銷,一些對性能有要求的應(yīng)用通常會(huì)自己在用戶態(tài)進(jìn)行內(nèi)存管理, 例如第一次申請稍大的內(nèi)存留著備用,而使用完釋放的內(nèi)存并不是馬上歸還給操作系統(tǒng), 可以將內(nèi)存進(jìn)行復(fù)用,這樣可以避免多次的內(nèi)存申請和釋放所帶來的性能消耗。
PHP不需要顯式的對內(nèi)存進(jìn)行管理,這些工作都由Zend引擎進(jìn)行管理了。PHP內(nèi)部有一個(gè)內(nèi)存管理體系, 它會(huì)自動(dòng)將不再使用的內(nèi)存垃圾進(jìn)行釋放。
二、php中查看與設(shè)置內(nèi)存的相關(guān)參數(shù)與函數(shù)
配置內(nèi)存大?。?/p>
(1)php.ini中可以更改配置memory_limit = 32M
(2)若環(huán)境中沒有禁用ini_set()函數(shù),可以通過此函數(shù)設(shè)置:ini_set("memory_limit", "128M");
查看內(nèi)存情況:
(1)memory_get_usage(),這個(gè)函數(shù)的作用是獲取 目前PHP腳本所用的內(nèi)存大小。
(2)memory_get_peak_usage(),這個(gè)函數(shù)的作用返回 當(dāng)前腳本到目前位置所占用的內(nèi)存峰值,這樣就可能獲取到目前的腳本的內(nèi)存需求情況。
看完了這篇文章,相信你對php中內(nèi)存管理的案例分析有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站題目:php中內(nèi)存管理的案例分析-創(chuàng)新互聯(lián)
URL標(biāo)題:http://www.rwnh.cn/article30/ccisso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站導(dǎo)航、微信公眾號、用戶體驗(yàn)、關(guān)鍵詞優(yōu)化、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容