Oracle 数据库服务器在 SonarQube 6.7.5 扫描期间使用几乎所有内存
Oracle DB server using almost all memory during SonarQube 6.7.5 scan
使用 Sonar 6.7.5 与 Oracle 12c 的 JDBC 连接。驱动版本为12.2.0.1.0。 Java JDK 1.8.0_111.
运行 mvn sonar:sonar
,使用适当的开关仅指定源代码的一小部分,因为有时需要 分钟 来处理每个 file,这可能是因为数据库服务器内存使用率达到 96%。很多代码写得非常糟糕(复杂的遗留代码有很多贡献者和很多问题)并没有帮助。
你建议我先看哪里?我尝试使用 SQLDeveloper 工具来监控 activity,但没有注册。 Oracle 数据库与我 运行 SonarQube 在不同的服务器上。
这是我无法从中复制文件的系统,但我可以根据需要转录 Java 内存设置或其他数据。还请告知我可以检查的日志文件。
其他数据,来自 SonarQube 管理页面:
计算引擎 JVM 状态
最大内存 = 1963MB
可用内存 = 1649MB
系统平均负载 = 146.0%(top
显示高 cpu,但没那么高)
工人数 = 1
我应该 turn off some rules 看看是否有帮助吗?
在 6.7 中,分析 运行ner 没有直接连接到数据库,因此不对数据库进行调整将对 分钟处理每个文件有任何影响 任何问题。
我认为 SonarJava 扫描器难以解析复杂文件是可以预料的,因为这些文件会给符号执行引擎带来困难(它支持例如空指针取消引用检测规则)。如果可以的话,我建议您 运行 在更强大的机器上进行分析工作 - 更多 CPU,分配给 Maven 运行ner 的更多内存。
在您的质量配置文件中禁用规则也会有所帮助,尤其是当其中一些规则目前与您的代码库不相关时。对您的团队采用渐进式增强代码质量的方法可能会有所帮助:从高严重性、高影响规则的子集开始,集中精力修复漏洞(即避免引入新错误)并重构现有代码以降低认知复杂性,然后通过稍后启用其他规则来提高门槛。
使用 Sonar 6.7.5 与 Oracle 12c 的 JDBC 连接。驱动版本为12.2.0.1.0。 Java JDK 1.8.0_111.
运行 mvn sonar:sonar
,使用适当的开关仅指定源代码的一小部分,因为有时需要 分钟 来处理每个 file,这可能是因为数据库服务器内存使用率达到 96%。很多代码写得非常糟糕(复杂的遗留代码有很多贡献者和很多问题)并没有帮助。
你建议我先看哪里?我尝试使用 SQLDeveloper 工具来监控 activity,但没有注册。 Oracle 数据库与我 运行 SonarQube 在不同的服务器上。
这是我无法从中复制文件的系统,但我可以根据需要转录 Java 内存设置或其他数据。还请告知我可以检查的日志文件。
其他数据,来自 SonarQube 管理页面:
计算引擎 JVM 状态
最大内存 = 1963MB
可用内存 = 1649MB
系统平均负载 = 146.0%(top
显示高 cpu,但没那么高)
工人数 = 1
我应该 turn off some rules 看看是否有帮助吗?
在 6.7 中,分析 运行ner 没有直接连接到数据库,因此不对数据库进行调整将对 分钟处理每个文件有任何影响 任何问题。
我认为 SonarJava 扫描器难以解析复杂文件是可以预料的,因为这些文件会给符号执行引擎带来困难(它支持例如空指针取消引用检测规则)。如果可以的话,我建议您 运行 在更强大的机器上进行分析工作 - 更多 CPU,分配给 Maven 运行ner 的更多内存。
在您的质量配置文件中禁用规则也会有所帮助,尤其是当其中一些规则目前与您的代码库不相关时。对您的团队采用渐进式增强代码质量的方法可能会有所帮助:从高严重性、高影响规则的子集开始,集中精力修复漏洞(即避免引入新错误)并重构现有代码以降低认知复杂性,然后通过稍后启用其他规则来提高门槛。