首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在运行Maven测试时优化CPU利用率

如何在运行Maven测试时优化CPU利用率
EN

Stack Overflow用户
提问于 2013-12-18 16:09:44
回答 3查看 3.5K关注 0票数 0

我有四核处理器。当我在我的项目中运行'mvn test‘时,CPU的负载几乎是100%:

代码语言:javascript
复制
 PID   USER     PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND   
 20641 user     20   0 3338212 339232   5076 S 397.7  9.1   2:16.19 java

和我的单元测试,因为超时。当我使用eclipse plugin for JUnit时,测试运行得更快,并且不会100%加载CPU。我的配置如下...

代码语言:javascript
复制
Maven 3.1.0
JUnit 4.10
Oracle JDK 1.7.0_40

有没有办法解决这个问题?也许我应该使用maven进行一些配置,或者使用maven-surefire-plugin进行特定的配置?

EN

回答 3

Stack Overflow用户

发布于 2013-12-18 16:16:44

您应该使用探查器连接到该虚拟机,并分析CPU时间花在哪里。为了快速获得结果,您可以使用Java Visual VM profiling。要进行更详细的分析,请使用专业的分析器。

票数 4
EN

Stack Overflow用户

发布于 2013-12-18 16:40:45

我也推荐VisualVM。还有另一个有用的工具,叫做jvmtop,用于命令行。

您还应该确保您不会产生超过可用核心的线程,因为交换将大量使用CPU。还要注意你的线程等待的方式,因为当线程处于紧循环中时,会发生如此高的CPU负载,例如while(!foo) {} ...等

票数 2
EN

Stack Overflow用户

发布于 2016-04-05 12:39:29

设置MAVEN_OPTS环境变量可以确保有足够的内存可用于运行Maven任务,并减少CPU使用率。

在Mac上,您可以编辑.bash_profile文件并添加以下内容:

代码语言:javascript
复制
export MAVEN_OPTS="-Xms1024m -Xmx4096m -XX:PermSize=1024m"

重新启动终端会话或运行源.bash_profile以激活环境变量。在Linux上,您可以编辑.bashrc文件并添加以下内容:

代码语言:javascript
复制
export MAVEN_OPTS="-Xms1024m -Xmx4096m -XX:PermSize=1024m"

重新启动终端会话或运行源.bashrc以激活环境变量。在Windows上,在用户级别设置环境变量

代码语言:javascript
复制
MAVEN_OPTS="-Xms1024m -Xmx4096m -XX:PermSize=1024m"

您的MAVEN_OPTS环境变量现在已设置好。如果需要,可以随意增加指定值,例如,如果在运行项目时出现“内存不足”错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20652760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档