2017-07-24 211 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