2010-11-27 58 views
1

我們有一個基於asp.net 1.1的web應用程序。我們將它部署在Web服務器上,但存在問題。 在網絡服務器中,有時CPU使用率會增加到100%,並且發生內存異常。Cpu和Outofmemory異常的使用

我認爲項目內部存在一些錯誤的代碼,但我不知道它在哪裏。

現在,我希望聽到您的建議,關於如何找到問題以及使用cpu的用法增加了什麼樣的代碼。

+1

你對這個問題認真嗎? CPU使用率增加的情況確實無窮無盡。因此,在你的地方,我將首先描述這個應用程序正在做什麼,它是如何編碼的,......當然,提供更多可能性的更多細節是獲得好的答案。 – 2010-11-27 09:22:11

+0

可能你是對的。但是我在服務器中看到了一些有趣的事情。在系統拋出OOM異常之前,CPU使用率變爲100%,在事件視圖中發生ID爲1078的事件日誌,w3wp.exe使用1200 k內存。 – mavera 2010-11-27 09:28:01

回答

0

它看起來像垃圾收集器沒有按照某種原因假定其工作。我建議在代碼中查看你在長循環中有變量聲明的地方。例如,你需要檢查看起來像這樣的循環:

dim c as car 
for i as integer = 0 to 20 
    c= new car 
    c.brand="" 
Next 

上述循環產生大量的垃圾所以請確保調用dispose()當你使用完一個對象。

檢查的另一個問題是遞歸。如果您有遞歸調用,請確保檢查中斷條件是否正確,並確保在跳到下一個遞歸之前也請致電dispose()

-1

如果你不知道如何在部署後調試某些東西,那麼首先應該學習的東西是Tess Ferrandez's blog。點擊並閱讀。很多。 :)我可以建議你從debugging labs開始。