WAMP(Windows+apache),其中一個進程Apache.exe 越變越大,使用記憶體超過200,000K?這是什麼問題呢?怎麼解決??謝謝.
重新啟動apache服務看看。
至於為何會長大...那要看你跑什麼東西
File does not exist.喔...你先不要加設定啦,你要先確定你的應用程式有使用這個目錄,否則這也許是蠕蟲、駭客在試你系統弱點而已。而且這個通常不會是原因。
如果error log找不出問題,也可以看一下access log有沒有什麼可疑的操作(不過access log很大,會像大海撈針),尤其是伺服器停止前有什麼操作。
要考慮的問題這麼多,那請問有沒有哪裡有關於 wamp debug資料可以參考呢?
我都直接看:
http://httpd.apache.org/docs/2.2/ 跟
http://www.php.net/manual/en/
...很久沒看書了,最近看的也都是原始碼相關的書,抱歉。
建議你先嘗試找到罪魁禍首,如果error log沒看出問題,那從access log下手,判斷可能導致問題的url,然後針對這個url做測試。(不過要測試的話...在正式機上不太好吧)apache內建一個可以針對網址做測試的程式叫做ab.exe,你可以找找看怎麼用。
另外,php的詳細問題,可以透過xdebug這個模組來抓抓看。安裝跟測試你可以參考:
http://www.jaceju.net/blog/?p=21
http://www.jaceju.net/blog/?p=61
xdebug必須跟你使用的php版本完全匹配,所以最好用phpinfo()檢查一下。
即使程式沒出錯,使用xdebug也可以看出哪個程式,哪個函數呼叫使用了大量的記憶體。
profiling的部份可以參考官方文件:
http://xdebug.org/docs/profiler
另外,有人提出做memory profile的結果的格式,似乎跟cachegrind不太合,如果有問題的話,請參考:
http://derickrethans.nl/xdebug-and-tracing-memory-usage.html
數字大概 200 MB,Apache 是一個比較重的程式,要看多久跑到 200 MB,不過 200 MB 還好。