기본 비-irix 모드에서 top의 CPU 오류(옵션 1)가 충돌하는 결과를 표시하는 이유는 무엇입니까?

기본 비-irix 모드에서 top의 CPU 오류(옵션 1)가 충돌하는 결과를 표시하는 이유는 무엇입니까?

다양한 포크에서 일부 벤치마크를 실행했고 bitcoind실행하는 동안 일부 충돌하는 값을 발견했습니다 top.

아래 스크린샷에서는 8개 CPU 각각의 CPU 사용률이 약 30%로 균등하게 분산되어 있습니다. 하지만 아래 목록 보기에는 bitcoindCPU가 105%로 표시됩니다. Irix 모드가 아니라는 점을 감안할 때 이는 bitcoind1개의 CPU가 100%로 사용되고 있음을 의미합니다. 하지만 위의 분석에서는 그런 식으로 나타나지 않습니다. 또한, 제가 실행 중인 Python 프로세스는 각각 하단 판독값이 약 40%를 보고하고 있지만, 상단 CPU는 약 40%를 판독하지 않습니다.

이 머신에는 8개의 물리적 코어가 있으며 가상화되지 않은 Ubuntu를 실행합니다.

여기서 무슨 일이 일어나고 있는 걸까요? 비트코인 탑

stress비교를 위해 이는 동일한 디스플레이를 갖춘 8개의 CPU에서 실행되었습니다 top. 8개의 CPU는 각각 100% 활용도를 가지며, 8개 stress프로세스는 각각 100% 보고됩니다. 스트레스 탑

업데이트: 실제로 제가 테스트하고 있는 변형은 다중 스레드이며 해당 H옵션에 결함이 표시됩니다. @TheGeek에게 감사드립니다.

상단 -h

답변1

이는 귀하의 코인이 멀티스레드이기 때문입니다. 스레드 모드를 켜려면 상단의 문자 "H"를 누르십시오. 그러면 bitcoind의 하위 스레드가 표시됩니다. 그러면 CPU 사용량 분포를 볼 수 있습니다.

gstack을 시도하여 스레드 목록을 볼 수도 있습니다.

관련 정보