Afinidade de um processo em um sistema multicore Ubuntu 14.04

1

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?

    
por tgkprog 03.07.2017 / 11:59

0 respostas