Temos vários processos em execução em uma VM com vários núcleos (8 núcleos). A maioria deles é Java. Em outra caixa que não é um V, eles correm bem. Mas neste, tudo parece lento às vezes.
top mostra 99% de uso da CPU, mas a TI diz que não é um problema como seu núcleo de 8.
De qualquer forma, para saber se todos os 8 ou apenas poucos núcleos estão disponíveis para os processos java (devido a alguma configuração incorreta nas VMs)?
Existe uma maneira de saber se os processos Java estão sendo afetados pelo scanner que está sobrecarregando 50% dos 2 núcleos? No Windows, veja-o no link do gerenciador de tarefas nossoservidornãoéGUI,entãoprecisadecomando(s)determinal
Qualquercomando/passosparasaberquantotempodeCPUosprocessosJavaqueremversusoqueelesestãorecebendo?
Aseguir,asaídadotopo(apósdigitar1paraverousopornúcleo.Espaçosextrasremovidosparaquepossamserformatadosnaplanilhasubstitua"" por "" e "\ n" por "")
top - 15:05:33 up 56 days, 13:35, 7 users, load average: 1.06, 1.08, 1.06
Tasks: 482 total, 2 running, 480 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 99.0 us, 0.7 sy, 0.0 ni, 0.0 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu4 : 0.3 us, 1.0 sy, 0.0 ni, 98.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu5 : 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu6 : 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu7 : 0.7 us, 0.7 sy, 0.0 ni, 98.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 32934880 total, 32335788 used, 599092 free, 942292 buffers
KiB Swap: 9202684 total, 1338100 used, 7864584 free. 10891396 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14445 AVuser 20 0 376708 143972 3772 R 99.4 0.4 5:10.55 scanner
11045 user1 20 0 7162456 662720 11024 S 0.7 2.0 11:27.62 java
15685 root3 20 0 25.125g 585900 5300 S 0.7 1.8 156:19.28 java
123326 root3 20 0 5598660 218820 9792 S 0.7 0.7 15:43.57 java
12942 user1 20 0 5366300 409164 5984 S 0.3 1.2 203:47.47 java
14685 user1 20 0 34856 2088 1236 R 0.3 0.0 0:00.08 top
46018 user1 20 0 6417468 464356 15336 S 0.3 1.4 3:46.92 java
46645 user1 20 0 11.936g 2.837g 15020 S 0.3 9.0 3:53.25 java
47504 user1 20 0 3654616 41888 12124 S 0.3 0.1 1:52.82 java
47528 user1 20 0 5683220 316128 15408 S 0.3 1.0 2:51.20 java
122516 root3 20 0 12.371g 176716 9160 S 0.3 0.5 3:36.29 java
122701 root3 20 0 12.374g 177420 9216 S 0.3 0.5 4:00.00 java
122848 root3 20 0 12.373g 172008 9176 S 0.3 0.5 3:43.66 java
129623 user1 20 0 3654624 48728 10472 S 0.3 0.1 3:03.76 java
129653 user1 20 0 6650800 401032 12188 S 0.3 1.2 7:30.19 java
130620 root3 20 0 3645888 44848 6696 S 0.3 0.1 15:05.26 java
Atualizações: Existem 8 VMs em um sistema físico. As unidades estão no mesmo sistema físico.
1 VM tem os processos java que falam com o mysql e escrevem logs (log4j mais recente, com async) endurecidos; 3 dos processos java gravam pequenos arquivos de texto em sua caixa de saída, mas estão funcionando bem - excluindo após o processamento em alguns segundos
1 VM é para mysql (código aberto) um pouco mais endurecido. Todos são 14.04 LTS do Ubuntu.
E / S - deve ser mínimo. Como posso testar isso? Existe algum utilitário que eu possa escrever no meu sistema de desenvolvimento local e, em seguida, na VM?