2013-05-20 3 views
1

를 먹는다. 내가 CPU 사용량을 확인할 때 자바가 오직 1 개의 CPU 코어 만 먹는 것을 볼 수 있습니다. 어딘가에 -server 매개 변수를 설정하면 도움이 될 것입니다.자바 프로세스가 난 다음 명령을 받는다는를 사용하여 내 프로그램을 실행 만 1 CPU 코어

어떤 매개 변수를 설정해야하며 mvn exec:java 명령을 사용하여 매개 변수를 전달할 수 있습니까?

+0

Java에서 코어 이상을 사용하기 위해 멀티 스레딩을 시도 할 수 있습니다. –

+0

동시 실행 스레드 수에 따라 다릅니다. – Peeyush

+0

@AsierAranbarri 그래서 멀티 스레딩을 어떻게 할 수 있습니까? 코드에 넣어야합니까? 내가 외부 라이브러리를 클러스터에서 실행하기 위해 사용하고 있기 때문에 그들이 이미 안에 있어야합니다. – ulkas

답변

1

documentation

예에 설명 된대로, 당신의 치어의 구성의 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을 실행할 필요가 없습니다.

+0

그냥 명령 줄에서 해보겠습니다. -Dexec.args = "- server" –

+0

답을 구했지만 명령 줄 매개 변수를 사용하면 1 코어에만 문제가 발생했습니다. – ulkas

+0

OK ... 물어 보니, 멀티 스레드 코드를 가지고 있습니까? 코드에서 Thread/Executor/ExecutorService를 사용 했습니까? –