제가 항상 알고 있던 것은 CPU는 여러 개의 코어를 가질 수 있지만 코어는 하나의 CPU에만 속할 수 있다는 것입니다. 인터넷에서 찾은 정보도 이를 보여줍니다. 그런데 를 사용하면 lscpu --extend
여러 개의 CPU가 하나의 코어에 속한다고 표시됩니다. 다음은 내 Linux 서버에서 사용한 데이터를 보여줍니다 lscpu --extend
. 이는 CPU0과 CPU24가 모두 코어 0에 속한다는 것을 보여줍니다.
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ
0 0 0 0 0:0:0:0 是 2900.0000 1200.0000
1 1 1 1 1:1:1:1 是 2900.0000 1200.0000
2 0 0 2 2:2:2:0 是 2900.0000 1200.0000
3 1 1 3 3:3:3:1 是 2900.0000 1200.0000
4 0 0 4 4:4:4:0 是 2900.0000 1200.0000
5 1 1 5 5:5:5:1 是 2900.0000 1200.0000
6 0 0 6 6:6:6:0 是 2900.0000 1200.0000
7 1 1 7 7:7:7:1 是 2900.0000 1200.0000
8 0 0 8 8:8:8:0 是 2900.0000 1200.0000
9 1 1 9 9:9:9:1 是 2900.0000 1200.0000
10 0 0 10 10:10:10:0 是 2900.0000 1200.0000
11 1 1 11 11:11:11:1 是 2900.0000 1200.0000
12 0 0 12 12:12:12:0 是 2900.0000 1200.0000
13 1 1 13 13:13:13:1 是 2900.0000 1200.0000
14 0 0 14 14:14:14:0 是 2900.0000 1200.0000
15 1 1 15 15:15:15:1 是 2900.0000 1200.0000
16 0 0 16 16:16:16:0 是 2900.0000 1200.0000
17 1 1 17 17:17:17:1 是 2900.0000 1200.0000
18 0 0 18 18:18:18:0 是 2900.0000 1200.0000
19 1 1 19 19:19:19:1 是 2900.0000 1200.0000
20 0 0 20 20:20:20:0 是 2900.0000 1200.0000
21 1 1 21 21:21:21:1 是 2900.0000 1200.0000
22 0 0 22 22:22:22:0 是 2900.0000 1200.0000
23 1 1 23 23:23:23:1 是 2900.0000 1200.0000
24 0 0 0 0:0:0:0 是 2900.0000 1200.0000
25 1 1 1 1:1:1:1 是 2900.0000 1200.0000
26 0 0 2 2:2:2:0 是 2900.0000 1200.0000
27 1 1 3 3:3:3:1 是 2900.0000 1200.0000
28 0 0 4 4:4:4:0 是 2900.0000 1200.0000
29 1 1 5 5:5:5:1 是 2900.0000 1200.0000
30 0 0 6 6:6:6:0 是 2900.0000 1200.0000
31 1 1 7 7:7:7:1 是 2900.0000 1200.0000
32 0 0 8 8:8:8:0 是 2900.0000 1200.0000
33 1 1 9 9:9:9:1 是 2900.0000 1200.0000
34 0 0 10 10:10:10:0 是 2900.0000 1200.0000
35 1 1 11 11:11:11:1 是 2900.0000 1200.0000
36 0 0 12 12:12:12:0 是 2900.0000 1200.0000
37 1 1 13 13:13:13:1 是 2900.0000 1200.0000
38 0 0 14 14:14:14:0 是 2900.0000 1200.0000
39 1 1 15 15:15:15:1 是 2900.0000 1200.0000
40 0 0 16 16:16:16:0 是 2900.0000 1200.0000
41 1 1 17 17:17:17:1 是 2900.0000 1200.0000
42 0 0 18 18:18:18:0 是 2900.0000 1200.0000
43 1 1 19 19:19:19:1 是 2900.0000 1200.0000
44 0 0 20 20:20:20:0 是 2900.0000 1200.0000
45 1 1 21 21:21:21:1 是 2900.0000 1200.0000
46 0 0 22 22:22:22:0 是 2900.0000 1200.0000
47 1 1 23 23:23:23:1 是 2900.0000 1200.0000
답변1
일부 용어는 이상하지만 그렇습니다.
이 출력에서 소켓은 CPU를 의미하고 코어는 CPU(소켓)의 코어를 의미하므로 소켓 0의 코어 0과 소켓 1의 코어 0이 있을 수 있습니다.
노드는 Numa 노드이므로 두 개의 장치가 클러스터로 함께 네트워크로 연결되어 있습니다.
그리고 CPU는 별개의 코어를 의미합니다. 하나는 소켓 0 코어 0용이고 다른 하나는 소켓 1 코어 0용입니다.
그러나 내 생각에는 CPU n과 n+24가 동일한 것 같습니다.
0 0 0 0 0:0:0:0 yes 2000.0000 500.0000
1 0 0 1 1:1:1:0 yes 2000.0000 500.0000
2 0 0 0 0:0:0:0 yes 2000.0000 500.0000
3 0 0 1 1:1:1:0 yes 2000.0000 500.0000
비슷한 결과. 이 장치에는 소켓(CPU) 1개와 코어 2개가 있지만 하이퍼스레드는 4개 있는 것으로 알고 있습니다. 그러므로 나는 각 CPU가 하이퍼스레드(진정한 독립 코어가 아님)라고 생각합니다.
출력은 다음에서 비롯됩니다.lscpu
...
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
...