2017-07-24 207 views
1

我用的是最新的SonarBuild服務器和SonarQube TFS extention (未亞軍.bat)的形式來構建我們的.NET應用程序,SonarQube 6.4.0.25310 TFS的內存溢出異常

TFS Extention

的構建運行在構建代理上,並且在某些項目中,我已經出現了:OutOfMemoryError異常:我已經閱讀了一些關於它的線程,其中有些人正在寫關於Java運行時的內存或設置堆的內存,但我不明白如何做到這一點,我必須粘貼選項等我幾乎沒有與Java的經驗。

[error]Exception in thread "Report about progress of Javascript analyzer" Exception in thread "CHECKPOINT_WRITER" Exception in thread "CLEANUP_MANAGER" java.lang.OutOfMemoryError: GC overhead limit exceeded 
[error]at java.util.Arrays.copyOfRange(Unknown Source) 
[error]at java.lang.String.<init>(Unknown Source) 
[error]at java.lang.StringBuilder.toString(Unknown Source) 
[error]at org.sonar.squidbridge.ProgressReport.run(ProgressReport.java:64) 
[error]at java.lang.Thread.run(Unknown Source) 
[error]java.lang.OutOfMemoryError: GC overhead limit exceeded 
[error]at com.persistit.Persistit.closeZombieTransactions(Persistit.java:1706) 
[error]at com.persistit.Persistit.cleanup(Persistit.java:1529) 
[error]at com.persistit.CleanupManager.poll(CleanupManager.java:157) 
[error]at com.persistit.CleanupManager.runTask(CleanupManager.java:88) 
[error]at com.persistit.IOTaskRunnable.run(IOTaskRunnable.java:144) 
[error]at java.lang.Thread.run(Unknown Source) 
+0

作爲最後我添加** sonar.web.javaOpts = -Xmx1280m **到sonar.config文件,但它沒有幫助。 – ZerQuetschMe

回答

1

錯誤發生在掃描儀端。通過在結束步驟之前設置環境變量SONAR_SCANNER_OPTS=-Xmx1500m,可以嘗試增加掃描儀的內存。但是這個錯誤可能來自對一個大的JavaScript文件的分析,這個文件可能不是你的代碼,而是一些第三方庫,這可以通過從分析中排除這些文件來解決(在掃描儀一側使用sonar.exclusions屬性,直接使用服務器UI)。

+0

你能告訴我,如何使用sonarqube tfs擴展來排除庫? – ZerQuetschMe

+0

好吧,我做了它,現在它運行。 – ZerQuetschMe