我使用maven使用以下命令运行我的程序:
mvn exec:java -Dexec.mainClass="some.path.to.my.class"
在Linux多CPU服务器上。当我检查CPU使用率时,我发现java只吃1个CPU核心。
我在某处读到设置-server
参数可能有所帮助。
我必须设置哪些参数以及如何使用mvn exec:java
命令传递它们?
答案 0 :(得分:1)
您可以在pom中配置的commandlineArgs部分设置它,如documentation
中所述例如:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>maven</executable>
<commandlineArgs>-server</commandlineArgs>
</configuration>
</plugin>
</plugins>
虽然我不确定这是你的问题 - 你有没有写过多线程代码?您无需在服务器模式下运行JVM即可使用多个线程。
答案 1 :(得分:1)
处理器相似性使您可以将线程或进程绑定到特定的CPU内核。 Java不支持处理器关联,但是我们可以使用taskset命令设置进程关联。假设我们有一个Java进程正在运行,我们想将其固定到特定的CPU。 请查看以下链接以了解更多详细信息,并找到具体方法: cpu pinning java