首頁  >  文章  >  後端開發  >  php cgi.exe進程太多怎麼辦

php cgi.exe進程太多怎麼辦

藏色散人
藏色散人原創
2020-09-03 09:39:062831瀏覽

php cgi.exe進程太多的解決方法:先檢查系統磁碟空間,檢視系統暫存檔案是否過多;然後使用「del *.*」指令刪除所有檔案;接著將程式設定檔中的StartProcesses值縮到2;最後優化fastcgi設定檔參數即可。

php cgi.exe進程太多怎麼辦

推薦:《PHP影片教學

php cgi.exe進程太多的解決辦法:

伺服器php-cgi.exe進程過多,導致CPU佔用100%的解決方案:

   1、檢查系統磁碟空間。檢視系統暫存檔案是否過多,mysql資料庫的暫存檔案預設存到了c:/windows/temp,導致累積了幾萬甚至上百萬的小文件,壓垮系統碟。

   del *.* 刪除所有檔案

   2、在IIS中並沒有內建對PHP語言的支持,使用PHP,必須自行安裝。 PHP可以安裝為CGI模式或是ISAPI模式,由於ISAPI模式有較高的效能,建議大家使用ISAPI模式。

   3、如能修改程序,建議將程序設定檔中的StartProcesses值縮到2,看是否有改善。

   4、看是否伺服器有問題攻擊現象。

   windows 2003 IIS6中最佳化fastcgi設定檔fcgiext.ini,減少php-cgi.exe進程數和所佔記憶體大小

##   設定環境為windows 2003 IIS6 fastcgi(FCGI) PHP5.2.17 ,發現工作在FastCGI模式下的PHP會佔用越來越多的內存,訪問量稍微多點php-cgi進程就多了N個,同樣情況下能比原來用isapi模式的時候多出幾百M,伺服器記憶體只有2G傷不起啊。

   解決這個問題的方法是在web伺服器設定中最佳化fastcgi設定檔參數。

  在C:\WINDOWS\system32\inetsrv\fcgiext.ini 檔案中可以設定php-cgi進程相關參數,如:

 [Types]
  php = PHP
  [PHP]
  ExePath=C:\php-5.3.8-nts-Win32-VC9-x86\php-cgi.exe
  maxInstances=100
  InstanceMaxRequests=10000
  EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000
  RequestTimeout=600
  ActivityTimeout=900

  在上面的設定:

  ExePath 指定了FastCGI解析程式的路徑,

  instanceMaxRequests 指定了每個實例可以處理的最大請求數,

  maxInstances 指定可以啟動的最大實例數# #  EnvironmentVars 建立了一個環境變數PHP_FCGI_MAX_REQUESTS ,預設值設為10000,

  requestTimeout 指定了請求的逾時時間為600秒,

  activity時間為會話時間。

  以下是建議值

  maxInstances=

  建議把這個值改小

  512M 記憶體的改變maxInstances=50

##  512M 記憶體的改變maxInstances=50

##  512M 內存的改記憶體的改maxInstances=80

  2G 記憶體的改maxInstances=140

  再修正

 InstanceMaxRequests=

  建議把這個值改小

#  512M 的記憶體改變InstanceMaxRequests=200

  1G 記憶體的改InstanceMaxRequests=300

  2G 記憶體的改InstanceMaxRequests=500

# 2G 記憶體的改InstanceMaxRequests=500

#  改

以上是php cgi.exe進程太多怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn