2 CPUと6 GBのVMwareゲストとしてCentOS 7.2 (3.10.0-327.18.2.el7.x86_64)
を実行していますRAM 32 GB RAMのLenevo W540 iCore 7で。
VMにrcuosとrcuobのそれぞれに128のプロセスが表示されます。これらのプロセスはシステムのコアの数と等しいはずなので、これは正しく聞こえません。
VM時々フリーズします。
CPUの数と等しいrcuosおよびrcuobプロセスの数を制限する方法はありますか?.
VM GuestでCPUの数を1に減らしましたが、それでもrcuosとrcuobの数はそれぞれ128です。
次に、maxcpus=0
をカーネルブートパラメーターとして追加し、rcuos
とrcuob
の数をそれぞれ1に減らしましたが、VMに割り当てるコアを増やす必要があります。コアを1つだけ使用すると、アプリケーションのパフォーマンスが40%低下します。
Linuxカーネルについての私の知識は非常に限られていて、それをどのように調整するかについてです。投稿して別のカーネルブートパラメーターnr_cpus here に遭遇した後もグーグルを続け、VMでこれを2(CPU数)に設定した後、2つのrcuosプロセスとrcuocプロセスしか表示されなくなりました。
これは私のために働いたものです。
編集する
/ etc/default/grub
nr_cpus = 2
grub2-mkconfig -o /boot/grub2/grub.cfg
$ 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]
このタイプのカーネルスレッドが多すぎるのはバグであり、エラータによって https://access.redhat.com/solutions/140431 で対処されています https://rhn.redhat.com/ errata/RHSA-2016-2574.html であり、kernel-3.10.0-514
以降で修正されています。 RedHatはこれを2016年11月に公開したので、CentOSで利用できるようになると確信しています。
カーネルを更新して再起動します。 rcous
スレッドの通常の数が表示されます。私の場合、normalは実際には0であり、6コアVMの約95から減少しました。
VMwareでこの問題を解決する別の方法:
Vmをオフにします。
設定の編集>オプション>詳細設定>メモリ/ CPUホットプラグ
「CPUホットプラグ」で、「この仮想マシンのCPUホットプラグ」を無効にします。
電源オン。
問題が解決しました。