0

我使用 maven 使用以下命令运行我的程序:

mvn exec:java -Dexec.mainClass="some.path.to.my.class"

在 Linux 多 CPU 服务器上。当我检查 CPU 使用率时,我看到 java 只吃 1 个 CPU 核心。我在某处读到设置-server参数可能会有所帮助。

我必须设置哪些参数以及如何使用mvn exec:java命令传递它们?

4

2 回答 2

1

您可以在 pom 配置的 commandlineArgs 部分中设置它,如文档中所述

例如:

 <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 即可使用多个线程。

于 2013-05-20T12:53:53.620 回答
1

处理器关联允许您将线程或进程绑定到特定的 CPU 内核。Java 没有对处理器亲和性的原生支持,但我们可以使用 taskset命令设置进程亲和性。假设我们有一个 Java 进程正在运行,并且我们想将它固定到特定的 CPU。请参阅以下链接以获取更多详细信息并了解如何执行此操作: cpu pinning java

于 2019-08-27T23:54:13.520 回答