come faccio a rendere java.exe più cpu?


1

Sto eseguendo Hudson su una macchina Windows 7 (x64): questo è semplicemente iniziato usando 'java -jar hudson.war'. Per qualche motivo, il processo java utilizza solo una CPU, su 2 disponibile, sebbene esegua più thread. Sono abbastanza sicuro che il comportamento predefinito per il sistema operativo sia quello di distribuire i thread di un programma multi-thread su cpu, a meno che non sia esplicitamente detto altrimenti (usando alcune API di SetProcessorAffinity se ricordo male).

C'è un modo per dire a Java di usare più CPU?

Risposte:


2

Normalmente, java.exe inserirà automaticamente i thread su diverse CPU.

In caso contrario, potrebbe essere perché il programma è legato all'I / O, piuttosto che alla CPU, o perché i thread non possono essere eseguiti contemporaneamente a causa della sincronizzazione.

Vedere http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#perf_scaling per qualche informazione in più.

Probabilmente dovrai eseguire il debug di Hudson per sapere perché utilizza solo un processore.


c'è in realtà un sacco di IO in corso, ancora non sono sicuro che sia l'unica ragione però
stijn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.