내 가상 머신에 rcuos 및 rcuob 프로세스가 너무 많습니다.

내 가상 머신에 rcuos 및 rcuob 프로세스가 너무 많습니다.

CentOS 7.2 (3.10.0-327.18.2.el7.x86_64)저는 32GB RAM을 갖춘 Lenovo W540 iCore 7에서 CPU 2개와 6GB RAM을 갖춘 VMware 게스트로 실행하고 있습니다.

가상 머신에서 rcuos와 rcuob에는 각각 128개의 프로세스가 있는 것을 볼 수 있습니다. 프로세스가 시스템의 코어 수와 동일해야 하기 때문에 이것은 옳지 않은 것 같습니다.

내 가상 머신이 가끔 정지되는 것을 발견했습니다.

rcuos 및 rcuob 프로세스 수를 CPU 수와 동일하게 제한하는 방법이 있습니까?

VM Guest의 CPU 수를 1로 줄였지만 rcuos 및 rcuob 수는 여전히 각각 128개입니다.

maxcpus=0그런 다음 s 및 s 수를 1로 줄이는 커널 부팅 매개 변수를 추가했지만 가상 머신에 더 많은 코어를 할당해야 했습니다. 코어를 하나만 사용하면 애플리케이션 성능이 40% 감소합니다.rcuosrcuob

답변1

Linux 커널과 이를 조정하는 방법에 대한 나의 지식은 매우 제한적입니다. 다른 커널 부팅 매개변수 nr_cpus를 게시하고 우연히 발견한 후 계속해서 인터넷 검색을 했습니다.여기가상 머신에서 이를 2(CPU 수)로 설정하면 이제 2개의 rcuos 및 rcuoc 프로세스만 표시됩니다.

이것은 나에게 효과적입니다.

편집하다

/etc/default/grub
그리고 추가하세요
프로세서 수=2
GRUB_CMDLINE_LINUX 라인에 있습니다. 그러다가 도망갔어
grub2-mkconfig -o /boot/grub2/grub.cfg
재부팅 후 이제 rcuos 및 rcuoc에 대해 프로세스당 128개의 프로세스 대신 프로세스당 2개만 표시됩니다.

$ ps 보조 grep rcu |
루트 8 0.0 0.0 0 0 ? S 23:04 0:00 [rcu_bh]
루트 9 0.0 0.0 0 0 ? S 23:04 0:00 [rcuob/0]
루트 10 0.0 0.0 0 0 ? S 23:04 0:00 [rcuob/1]
루트 11 0.0 0.0 0 0 ? 23:04 오후 0:00 [rcu_sched]
루트 12 0.0 0.0 0 0 ? S 23:04 0:00 [rcuos/0]
루트 13 0.0 0.0 0 0 ? S 23:04 0:00 [rcuos/1]

답변2

이 유형의 커널 스레드가 너무 많으면 버그가 발생합니다.https://access.redhat.com/solutions/1404313정오표를 통해https://rhn.redhat.com/errata/RHSA-2016-2574.html또는 그 이후에 수정하세요 kernel-3.10.0-514. RedHat은 이를 2016년 11월에 출시했으므로 현재 CentOS에서 사용할 수 있을 것으로 확신합니다.

커널을 업데이트하고 재부팅하세요. 정상적인 스레드 수가 표시되어야 합니다 rcous. 제 경우에는 정상 값이 실제로 0으로, 6코어 VM의 약 95보다 낮습니다.

답변3

vmware에서 이 문제를 해결하는 또 다른 방법은 다음과 같습니다.

가상 머신을 종료합니다.

설정 편집 > 옵션 > 고급 > 메모리/CPU 핫 플러그

CPU 핫 플러그에서 이 가상 머신에 대한 CPU 핫 플러그를 비활성화합니다.

열려 있는.

문제가 해결되었습니다.

관련 정보