저는 멀티 코어 아키텍처에 대한 연구를 시작했고 마음에 질문이 있습니다. 나는 스레드를 인수로 취하고, 그 스레드를 만들고, sched_setaffinity를 사용하여 선호도를 설정 한 다음 모든 스레드 작업에서 busy 루프 (while (1))를 갖는 테스트 응용 프로그램을 가지고있다. 4 개의 프로세서가있는 Fedora 19 VM (3.11.9-200.fc19.x86_64)을 사용하고 있습니다. 이제 4 개의 스레드를 생성하고 4 개의 서로 다른 프로세서에 대한 선호도를 설정하면 CPU 사용률이 균일하지 않습니다. 이 같은이며,다중 프로세서에서 모든 CPU가 균등하게 활용되지 않는 이유는 무엇입니까?
PID의 USER PR NI VIRT RES SHR S %의 CPU %의 MEM 시간 + COMMAND
2113 루트 20 0 0 0 0 R 92.90 0.000 18 : 22.91 multicoretest
2114 루트 20 0 0 R 0 0 92.23 0.000 18 07.29 multicoretest
루트 2,112 20 0 0 0 0 R 49.28 0.000 9 41.48 multicoretest
루트 2,111 20 0 0 0 0 R 48.61 0.000 9 42.17 multicoretest
루트 20 0 0 0 0 Z 0.000 0.000 0 : 00.00 multicoretest
가 동일한 스레드 기능이 있지만사람이 나에게 3, 4 코어가 처음 두만큼 바쁜하지 않은 이유에 대한 설명을 줄 수 있습니까?
정말 도움이 될 것입니다.
감사
하이퍼 스레딩으로 인해 실제 코어 또는 가상 코어가 모두 있습니까? – thkala
'lscpu' 명령의 출력을 보여줄 수 있습니까? –