Muitos processos rcuos e rcuob na minha VM

2

Estou executando o CentOS 7.2 (3.10.0-327.18.2.el7.x86_64) como convidado VMware com 2 cpu e 6 GB de RAM no meu Leneve W540 iCore 7 com 32 GB de RAM.

Eu vejo 128 processos cada para rcuos e rcuob na minha VM. Isso não parece certo, já que esses processos devem ser iguais ao número de núcleos em um sistema.

Estou percebendo meu congelamento de VM ocasionalmente.

Existe uma maneira de limitar o número de processos rcuos e rcuob igual ao número de CPUs.

Reduzi o número de CPU no Convidado VM para 1 e ainda o número de rcuos e rcuob são 128 cada.

Em seguida, adicionei maxcpus=0 como um parâmetro de inicialização do kernel e reduzi o número de rcuos e rcuob para 1 cada, mas preciso de mais núcleos atribuídos à VM. O desempenho do meu aplicativo é reduzido em 40% se eu usar apenas um núcleo.

    
por Vikram 05.06.2016 / 03:46

3 respostas

2

Meu conhecimento sobre o Kernel do Linux é muito limitado e como ajustá-lo. Continuei pesquisando depois que postei e tropecei em outro parâmetro de inicialização do kernel nr_cpus aqui e depois de definir isso como 2 (Número de CPUs) na minha VM, agora vejo apenas dois processos rcuos e rcuoc.

Isso é o que funcionou para mim.

Editar

/etc/default/grub
e adicione
nr_cpus=2
na linha para GRUB_CMDLINE_LINUX. E então executei
grub2-mkconfig -o /boot/grub2/grub.cfg
e reiniciei e agora, em vez de 128, cada um dos processos para rcuos e rcuoc, só vejo agora dois processos cada.
$ ps aux | grep rcu
root         8  0.0  0.0      0     0 ?        S    23:04   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        S    23:04   0:00 [rcuob/0]
root        10  0.0  0.0      0     0 ?        S    23:04   0:00 [rcuob/1]
root        11  0.0  0.0      0     0 ?        R    23:04   0:00 [rcu_sched]
root        12  0.0  0.0      0     0 ?        S    23:04   0:00 [rcuos/0]
root        13  0.0  0.0      0     0 ?        S    23:04   0:00 [rcuos/1]
    
por 05.06.2016 / 05:22
0

Muitos encadeamentos do kernel desse tipo são um bug tratado no link por errata link e corrigido em kernel-3.10.0-514 ou posterior. A RedHat publicou isso em novembro de 2016, então estou certo de que já está disponível no CentOS.

Atualize o kernel e reinicie. Você deve ver o número normal de rcous threads. No meu caso, o normal era na verdade 0, abaixo de 95 em uma VM de 6 núcleos.

    
por 13.03.2017 / 20:52
0

Uma maneira alternativa de resolver este problema no vmware:

Desligue a vm.

Editar configurações > Opções > Avançado > Memória / CPU Hotplug

Em "CPU Hot Plug", desative "CPU hot plug" para esta máquina virtual. "

Ligar.

Problema resolvido.

    
por 31.10.2016 / 18:34