本文目錄一覽:
- 1、cgi/fastcgi佔用率高
- 2、伺服器php-cgi.exe進程過多,導致CPU佔用100%
- 3、php-cgi進程太多,導致物理內存過高怎麼辦,有辦法自動關閉銷毀無用cgi進程嗎?
- 4、502 Bad Gateway 怎麼解決
- 5、如何分析php-cgi進程佔用cpu資源過多負載高的原因
- 6、幾個PHP-CGI進程導致伺服器CPU佔用率過高,求教如何解決。
cgi/fastcgi佔用率高
在web伺服器配置中優化fastcgi配置文件參數。
php-cgi進程並沒有內存泄漏,php-cgi會在每個請求結束的時候回收腳本使用的全部內存,但是並不會釋放給操作系統,而是繼續持有以應對下一次PHP請求。這樣做大概是為了減少內存碎片化或者解決從系統申請內存之後又釋放回操作系統所需要的時間不可控問題。可是如果偶然一次PHP請求使用了諸如ftp或者zlib這樣的大內存操作,那麼將導致一大塊系統內存被php-cgi持續佔有,不能被利用。
伺服器php-cgi.exe進程過多,導致CPU佔用100%
你的現象一般有兩種可能,一是PHP腳本問題,例如你在PHP腳本後面寫一個按回車結束,然後從標準輸入讀數據,可能會造成阻塞,使得進程無法結束。進行測試的方法的是寫一個最簡單的PHP腳本(例如只有phpinfo();一行),然後不斷用瀏覽器打開這個頁面,如果CGI進程也在增加,那麼說明是下面一種情況。
另外一種情況是PHP版本安裝不對,在WINDOWS下用CGI方式工作,不要安裝「線程安全」版本,應該安裝「非線程安全」的版本,否則會出現你的情況。
php-cgi進程太多,導致物理內存過高怎麼辦,有辦法自動關閉銷毀無用cgi進程嗎?
可以設置下php的線程數量,增加php使用內存,降低php的線程時間,不過訪問量大的話,總內存還是不會降的。
502 Bad Gateway 怎麼解決
502badgateway要先找到nginx配置的路徑。
然後找到nginx所在的error日誌文件來查看具體原因。
如果是客戶端瀏覽器配置的問題,以360瀏覽器為例,出現502BadGateway可能是設置了代代理導致的。
取消瀏覽器代理之後,刷新一下就可以訪問了。
502BadGateway是一種報錯提示,這一錯誤並不意味著上游伺服器已關閉(無響應網關/代理),而是上游伺服器和網關/代理不同意的協議交換數據。
鑒於互聯網協議是相當清楚的,它往往意味著一個或兩個機器已不正確或不完全編程。
如何分析php-cgi進程佔用cpu資源過多負載高的原因
不要使用普通的CGI模式安裝,每個PHP進程默認佔128MB內存,幾G內存也最多百來人訪問就擊垮了。
CGI模式是早期內部小網站的模式,現在一般用於開發時方便調試。
部署PHP應該使用FastCGI方式或者ISAPI方式安裝,就不會產生多進程和資源佔用過多。
幾個PHP-CGI進程導致伺服器CPU佔用率過高,求教如何解決。
安裝zend studio 5 時自帶了一個 php環境 zend core,zend core 在windows下是以fastcgi方法運行的。開啟ZendCoreApache服務後,會啟動 8個 php-cgi.exe過程,每個占內存 5 mb。 作為開發調試應用,沒有必要開這麼多過程,那麼我們可以通過修正配置文件的方法來對其進行把持,具體方法如下: 修正配置文件C:\Program Files\Zend\Core\etc\fastcgi.conf 將 StartProcesses=”8″ 改為 StartProcesses=”2″ 即可。 還有最重要的,分給我
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/154997.html