काफी हाल ही में लिनक्स OS को मानते हुए, यह निर्धारित करने का एक आसान तरीका है कि NUMA नोड PCI PCI स्लॉट, जहां एक उपकरण प्लग किया गया है, के अंतर्गत आता है?
काफी हाल ही में लिनक्स OS को मानते हुए, यह निर्धारित करने का एक आसान तरीका है कि NUMA नोड PCI PCI स्लॉट, जहां एक उपकरण प्लग किया गया है, के अंतर्गत आता है?
जवाबों:
उदाहरण के लिए, आपको प्रश्न में PCIe स्लॉट की निर्देशिका में जाना चाहिए eth0:
cd /sys/class/net/eth0/device
जहां मिलेगा numa_node, local_cpusऔर local_cpulistआप के लिए, ब्याज की तीन फ़ाइलें। आप catउन्हें बस , और वांछित डेटा देख सकते हैं।
यदि आप डिवाइस आईडी जानते हैं तो आप hwloc ( http://www.open-mpi.de/projects/hwloc/ ) का भी उपयोग कर सकते हैं । हालाँकि, यदि आपके पास एक ही डिवाइस के 2 (उदाहरण के लिए, GPU), NUMA नोड को जानने का एकमात्र तरीका है जहां भौतिक स्लॉट जुड़ा हुआ है, तो मदरबोर्ड मैनुअल पर एक नज़र डालना है।
Asus Z9PE-D8 ( http://dlcdnet.asus.com/pub/ASUS/mb/LGA2011/Z9PE-D8-WS/Manual/e8726_z9pe-d8_ws.pdf ) के लिए यह पृष्ठ 223 में है।
स्वीकृत उत्तर केवल नेटवर्क कार्ड के लिए काम करता है, जहाँ तक मैंने पाया है। GuillermoMA के जवाब के अनुसार, hwloc आपको असली सौदा देगा भले ही वह सुपाठ्य न हो। lstopohwloc पैकेज में पाया जाता है (कम से कम RHEL 7 पर):
# lstopo
Machine (256GB)
NUMANode L#0 (P#0 128GB)
Socket L#0 + L3 L#0 (20MB)
L2 L#0 (256KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0 + PU L#0 (P#0)
L2 L#1 (256KB) + L1d L#1 (32KB) + L1i L#1 (32KB) + Core L#1 + PU L#1 (P#2)
L2 L#2 (256KB) + L1d L#2 (32KB) + L1i L#2 (32KB) + Core L#2 + PU L#2 (P#4)
L2 L#3 (256KB) + L1d L#3 (32KB) + L1i L#3 (32KB) + Core L#3 + PU L#3 (P#6)
L2 L#4 (256KB) + L1d L#4 (32KB) + L1i L#4 (32KB) + Core L#4 + PU L#4 (P#8)
L2 L#5 (256KB) + L1d L#5 (32KB) + L1i L#5 (32KB) + Core L#5 + PU L#5 (P#10)
L2 L#6 (256KB) + L1d L#6 (32KB) + L1i L#6 (32KB) + Core L#6 + PU L#6 (P#12)
L2 L#7 (256KB) + L1d L#7 (32KB) + L1i L#7 (32KB) + Core L#7 + PU L#7 (P#14)
HostBridge L#0
PCIBridge
PCI 1000:005d
Block L#0 "sda"
PCIBridge
PCI 14e4:16a1
Net L#1 "eth0"
PCI 14e4:16a1
Net L#2 "eth1"
PCI 14e4:16a1
Net L#3 "eth2"
PCI 14e4:16a1
Net L#4 "eth3"
PCI 8086:8d62
PCIBridge
PCIBridge
PCIBridge
PCIBridge
PCI 102b:0534
PCI 8086:8d02
Block L#5 "sr0"
NUMANode L#1 (P#1 128GB)
Socket L#1 + L3 L#1 (20MB)
L2 L#8 (256KB) + L1d L#8 (32KB) + L1i L#8 (32KB) + Core L#8 + PU L#8 (P#1)
L2 L#9 (256KB) + L1d L#9 (32KB) + L1i L#9 (32KB) + Core L#9 + PU L#9 (P#3)
L2 L#10 (256KB) + L1d L#10 (32KB) + L1i L#10 (32KB) + Core L#10 + PU L#10 (P#5)
L2 L#11 (256KB) + L1d L#11 (32KB) + L1i L#11 (32KB) + Core L#11 + PU L#11 (P#7)
L2 L#12 (256KB) + L1d L#12 (32KB) + L1i L#12 (32KB) + Core L#12 + PU L#12 (P#9)
L2 L#13 (256KB) + L1d L#13 (32KB) + L1i L#13 (32KB) + Core L#13 + PU L#13 (P#11)
L2 L#14 (256KB) + L1d L#14 (32KB) + L1i L#14 (32KB) + Core L#14 + PU L#14 (P#13)
L2 L#15 (256KB) + L1d L#15 (32KB) + L1i L#15 (32KB) + Core L#15 + PU L#15 (P#15)
HostBridge L#7
PCIBridge
PCI 15b3:1003
Net L#6 "eth4"
Net L#7 "eth5"
NUMANode L # 0, निश्चित रूप से, CPU0 और NUMANode L # 1 CPU1 है। फिर आप ऊपर से अपना पसंदीदा PCI नंबर ले सकते हैं, जैसे 14e4: 16a1, और पता करें कि यह क्या है, और इसके PCI एड्रेस को आगे के विश्लेषण के लिए lspci:
# lspci -nn | grep 14e4:16a1
01:00.0 Ethernet controller [0200]: Broadcom Corporation BCM57840 NetXtreme II 10 Gigabit Ethernet [14e4:16a1] (rev 11)
01:00.1 Ethernet controller [0200]: Broadcom Corporation BCM57840 NetXtreme II 10 Gigabit Ethernet [14e4:16a1] (rev 11)
01:00.2 Ethernet controller [0200]: Broadcom Corporation BCM57840 NetXtreme II 10 Gigabit Ethernet [14e4:16a1] (rev 11)
01:00.3 Ethernet controller [0200]: Broadcom Corporation BCM57840 NetXtreme II 10 Gigabit Ethernet [14e4:16a1] (rev 11)
मेरी एक मशीन पर, एक एमुलेक्स फाइबर चैनल कार्ड lstopoआउटपुट में नहीं दिखा । मैंने इसे lstopo --whole-ioरिवर्स लुकअप प्रक्रिया (दाईं ओर स्क्रॉल करें यदि आपके पास है, तो 10df हेक्स संख्या जिसे मैं grep करता हूं) देखने के लिए उपयोग करके पाया :
# lspci -nn | grep -i emulex
03:00.0 Fibre Channel [0c04]: Emulex Corporation Saturn-X: LightPulse Fibre Channel Host Adapter [10df:f100] (rev 03)
03:00.1 Fibre Channel [0c04]: Emulex Corporation Saturn-X: LightPulse Fibre Channel Host Adapter [10df:f100] (rev 03)
# lstopo --whole-io | grep 10df
PCI 10df:f100
PCI 10df:f100
डिवाइस को पूर्ण lstopo --whole-ioडिस्प्ले में (पाठक के लिए एक अभ्यास के रूप में छोड़ दिया) खोजने के लिए, आउटपुट अर्ध-मैन्युअल रूप से पाइप ग्रीप कमांड, ऊपर और अफवाह को हटा दें ।
lspci -nn | grep PCINUMBERमेरा दिन बना दिया। मेरे पास दो सैमसंग 970 प्रो हैं और उस कमांड ने मुझे ltopoआउटपुट से उन्हें पहचानने में मदद की । धन्यवाद।
numa_node = -1औरlocal_cpulist = 0-15। यह सही नहीं हो सकता है, मेरे पास hwloc द्वारा पुष्टि के रूप में 2 सुमा नोड्स हैं।