cari
RumahOperasi dan penyelenggaraanoperasi dan penyelenggaraan linuxMari bercakap tentang seni bina numa di Linux (penjelasan terperinci dengan gambar dan teks)

Artikel ini membawakan anda pengetahuan yang berkaitan tentang pengenalan seni bina numa dalam Linux, saya harap ia akan membantu anda.

Mari bercakap tentang seni bina numa di Linux (penjelasan terperinci dengan gambar dan teks)

Kes berikut adalah berdasarkan Ubuntu 16.04 dan juga boleh digunakan untuk sistem Linux yang lain. Persekitaran kes yang saya gunakan adalah seperti berikut:

Konfigurasi mesin: 32 CPU, memori 64GB

Konsep hierarki storan dalam NUMA:

Mari bercakap tentang seni bina numa di Linux (penjelasan terperinci dengan gambar dan teks)

1) Lapisan pemproses: Satu teras fizikal dipanggil lapisan pemproses. 2) Lapisan nod tempatan: Untuk semua pemproses dalam nod, nod ini dipanggil nod tempatan. 3) Lapisan nod rumah: Nod bersebelahan dengan nod tempatan dipanggil nod rumah. 4) Lapisan nod jauh: Nod yang bukan nod tempatan atau nod jiran dipanggil nod jauh. Kelajuan CPU mengakses memori pelbagai jenis nod adalah berbeza Kelajuan mengakses nod tempatan adalah yang paling cepat, dan kelajuan mengakses nod jauh adalah yang paling perlahan, iaitu kelajuan akses berkaitan dengan jarak nod . Semakin jauh jarak, semakin perlahan kelajuan akses Jarak ini dipanggil Untuk Jarak Nod. Aplikasi harus cuba meminimumkan interaksi antara modul CPU yang berbeza Jika aplikasi boleh diperbaiki dalam modul CPU, prestasi aplikasi akan bertambah baik.

** Mari kita bincangkan tentang komposisi cip CPU dengan pemproses Kunpeng 920: ** Setiap kluster teras super sistem-on-cip pemproses Kunpeng 920 termasuk 6 kluster teras, 2 kluster I/O dan 4 pengawal DDR. Setiap kluster teras super dibungkus ke dalam cip CPU. Setiap cip menyepadukan empat saluran DDR4 berkelajuan tinggi 72-bit (data 64-bit ditambah ECC 8-bit) dengan kadar penghantaran data sehingga 3200MT/s Satu cip boleh menyokong sehingga 512GB×4 ruang storan DDR. L3 Cache secara fizikal dibahagikan kepada dua bahagian: L3 Cache TAG dan L3 Cache DATA. L3 Cache TAG disepadukan dalam setiap kelompok teras untuk mengurangkan kependaman mendengar. L3 Cache DATA disambungkan terus ke bas on-chip. Hydra Root Agent (Hydra Home Agent, HHA) ialah modul yang mengendalikan protokol ketekalan Cache sistem berbilang cip. POE_ICL ialah pemecut perkakasan yang dikonfigurasikan sistem, yang secara amnya boleh digunakan sebagai penjujukan paket, baris gilir mesej, pengedaran mesej atau untuk melaksanakan tugas khusus teras pemproses tertentu. Selain itu, setiap kluster teras super dikonfigurasikan secara fizikal dengan modul Pengedar Pengawal Gangguan Generik (GICD), yang serasi dengan spesifikasi GICv4 ARM. Apabila terdapat berbilang kluster teras super dalam sistem cip tunggal atau berbilang cip, hanya satu GICD kelihatan kepada perisian sistem.

Mari bercakap tentang seni bina numa di Linux (penjelasan terperinci dengan gambar dan teks)

Penggunaan numactl

Linux menyediakan arahan penalaan manual numactl (tidak dipasang secara lalai Arahan pemasangan pada Ubuntu adalah seperti berikut:

sudo apt install numactl -y

Pertama sekali, anda boleh menggunakan man numactl atau numactl --h untuk memahami fungsi parameter dan kandungan output. Semak status numa sistem:

numactl --hardware

Keputusan berikut diperolehi dengan menjalankan:

available: 4 nodes (0-3)
node 0 cpus: 0 1 2 3 4 5 6 7
node 0 size: 16047 MB
node 0 free: 3937 MB
node 1 cpus: 8 9 10 11 12 13 14 15
node 1 size: 16126 MB
node 1 free: 4554 MB
node 2 cpus: 16 17 18 19 20 21 22 23
node 2 size: 16126 MB
node 2 free: 8403 MB
node 3 cpus: 24 25 26 27 28 29 30 31
node 3 size: 16126 MB
node 3 free: 7774 MB
node distances:
node   0   1   2   3
  0:  10  20  20  20
  1:  20  10  20  20
  2:  20  20  10  20
  3:  20  20  20  10

Mari bercakap tentang seni bina numa di Linux (penjelasan terperinci dengan gambar dan teks)

Keputusan yang diperolehi mengikut gambar ini dan arahan boleh dilihat Ya, sistem ini mempunyai sejumlah 4 nod, setiap satu dengan 8 CPU dan memori 16G. Apa yang perlu diperhatikan di sini ialah cache L3 yang dikongsi oleh CPU juga akan menerima ruang yang sepadan dengan sendirinya. Anda boleh menyemak status numa melalui arahan numastat Kandungan nilai pulangan:

numa_hit: Ia adalah niat untuk memperuntukkan memori pada nod ini, dan bilangan terakhir peruntukan daripada nod ini; >numa_miss: Ia adalah niat untuk memperuntukkan memori pada nod ini Bilangan kali memori telah diperuntukkan, tetapi telah diperuntukkan daripada nod lain pada akhirnya; untuk diperuntukkan pada nod lain, tetapi telah diperuntukkan daripada nod ini pada akhirnya

interleave_hit: Strategi interleave telah digunakan dan bilangan kali ia diperuntukkan daripada nod ini akhirnya Bilangan kali diperuntukkan oleh ini nod

local_node: bilangan kali proses pada nod ini diperuntukkan pada nod ini

other_node: bilangan kali proses nod lain diperuntukkan pada nod ini

Nota : Jika nilai numa_miss didapati agak tinggi, bermakna strategi peruntukan perlu diselaraskan. Sebagai contoh, perkaitan proses yang ditentukan terikat pada CPU yang ditentukan, dengan itu meningkatkan kadar pukulan memori.

Strategi peruntukan memori NUMA

--localalloc atau -l: menentukan bahawa proses meminta peruntukan memori daripada nod setempat. --membind=nodes atau -m nodes: Menentukan bahawa proses hanya boleh meminta peruntukan memori daripada nod yang ditentukan. --preferred=node: Tentukan nod yang disyorkan untuk mendapatkan memori Jika pemerolehan gagal, cuba nod lain. --interleave=nodes atau -i nod: Menentukan bahawa proses secara interleaved meminta peruntukan memori daripada nod yang ditentukan menggunakan algoritma round robin.
root@ubuntu:~# numastat
                           node0           node1           node2           node3
numa_hit             19480355292     11164752760     12401311900     12980472384
numa_miss                5122680       122652623        88449951            7058
numa_foreign           122652643        88449935            7055         5122679
interleave_hit             12619           13942           14010           13924
local_node           19480308881     11164721296     12401264089     12980411641
other_node               5169091       122684087        88497762           67801
 numactl --interleave=all mongod -f /etc/mongod.conf

因为NUMA默认的内存分配策略是优先在进程所在CPU的本地内存中分配,会导致CPU节点之间内存分配不均衡,当开启了swap,某个CPU节点的内存不足时,会导致swap产生,而不是从远程节点分配内存。这就是所谓的swap insanity 现象。或导致性能急剧下降。所以在运维层面,我们也需要关注NUMA架构下的内存使用情况(多个内存节点使用可能不均衡),并合理配置系统参数(内存回收策略/Swap使用倾向),尽量去避免使用到Swap。

Node->Socket->Core->Processor

随着多核技术的发展,将多个CPU封装在一起,这个封装被称为插槽Socket;Core是socket上独立的硬件单元;通过intel的超线程HT技术进一步提升CPU的处理能力,OS看到的逻辑上的核Processor数量。

Socket = Node

Socket是物理概念,指的是主板上CPU插槽;Node是逻辑概念,对应于Socket。

Core = 物理CPU

Core是物理概念,一个独立的硬件执行单元,对应于物理CPU;

Thread = 逻辑CPU = Processor

Thread是逻辑CPU,也就是Processo

lscpu的使用

显示格式:

  • Architecture:架构

  • CPU(s):逻辑cpu颗数

  • Thread(s) per core:每个核心线程,也就是指超线程

  • Core(s) per socket:每个cpu插槽核数/每颗物理cpu核数

  • CPU socket(s):cpu插槽数

  • L1d cache:级缓存(google了下,这具体表示表示cpu的L1数据缓存)

  • L1i cache:一级缓存(具体为L1指令缓存)

  • L2 cache:二级缓存

  • L3 cache:三级缓存

  • NUMA node0 CPU(s) :CPU上的逻辑核,也就是超线程

执行lscpu,结果部分如下:

root@ubuntu:~# lscpu
Architecture:          x86_64
CPU(s):                32
Thread(s) per core:    1
Core(s) per socket:    8
Socket(s):             4
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              20480K
NUMA node0 CPU(s):     0-7
NUMA node1 CPU(s):     8-15
NUMA node2 CPU(s):     16-23
NUMA node3 CPU(s):     24-31

相关推荐:《Linux视频教程

Atas ialah kandungan terperinci Mari bercakap tentang seni bina numa di Linux (penjelasan terperinci dengan gambar dan teks). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:掘金. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
5 Pilar Linux: Memahami peranan mereka5 Pilar Linux: Memahami peranan merekaApr 11, 2025 am 12:07 AM

Lima tiang sistem Linux adalah: 1. Kernel, 2. Perpustakaan Sistem, 3. Shell, 4. Sistem Fail, 5. Alat Sistem. Kernel menguruskan sumber perkakasan dan menyediakan perkhidmatan asas; Perpustakaan Sistem menyediakan fungsi prapompilasi untuk aplikasi; Shell adalah antara muka bagi pengguna untuk berinteraksi dengan sistem; Sistem fail menganjurkan dan menyimpan data; dan alat sistem digunakan untuk pengurusan dan penyelenggaraan sistem.

Mod Penyelenggaraan Linux: Alat dan TeknikMod Penyelenggaraan Linux: Alat dan TeknikApr 10, 2025 am 09:42 AM

Dalam sistem Linux, mod penyelenggaraan boleh dimasukkan dengan menekan kekunci tertentu pada permulaan atau menggunakan arahan seperti "sudosystemctlrescue". Mod penyelenggaraan membolehkan pentadbir melakukan penyelenggaraan sistem dan penyelesaian masalah tanpa gangguan, seperti membaiki sistem fail, menetapkan semula kata laluan, menampal kelemahan keselamatan, dll.

Operasi Linux Utama: Panduan PemulaOperasi Linux Utama: Panduan PemulaApr 09, 2025 pm 04:09 PM

Pemula Linux harus menguasai operasi asas seperti pengurusan fail, pengurusan pengguna dan konfigurasi rangkaian. 1) Pengurusan Fail: Gunakan arahan MKDIR, Touch, LS, RM, MV, dan CP. 2) Pengurusan Pengguna: Gunakan perintah USERADD, PASSWD, USERDEL, dan USERMOD. 3) Konfigurasi Rangkaian: Gunakan perintah IFConfig, Echo, dan UFW. Operasi ini adalah asas pengurusan sistem Linux, dan menguasai mereka dengan berkesan dapat menguruskan sistem.

Bagaimanakah saya menggunakan sudo untuk memberikan keistimewaan yang tinggi kepada pengguna di Linux?Bagaimanakah saya menggunakan sudo untuk memberikan keistimewaan yang tinggi kepada pengguna di Linux?Mar 17, 2025 pm 05:32 PM

Artikel ini menerangkan cara menguruskan keistimewaan sudo di Linux, termasuk pemberian, pembatalan, dan amalan terbaik untuk keselamatan. Fokus utama adalah pada penyuntingan /etc /sudoers dengan selamat dan mengehadkan akses.Character Count: 159

Bagaimanakah saya melaksanakan pengesahan dua faktor (2FA) untuk SSH di Linux?Bagaimanakah saya melaksanakan pengesahan dua faktor (2FA) untuk SSH di Linux?Mar 17, 2025 pm 05:31 PM

Artikel ini menyediakan panduan untuk menubuhkan dua faktor Pengesahan (2FA) untuk SSH di Linux menggunakan Google Authenticator, perincian pemasangan, konfigurasi, dan langkah penyelesaian masalah. Ia menyoroti manfaat keselamatan 2FA, seperti Sec yang dipertingkatkan

Bagaimanakah saya memantau prestasi sistem di Linux menggunakan alat seperti Top, HTOP, dan VMSTAT?Bagaimanakah saya memantau prestasi sistem di Linux menggunakan alat seperti Top, HTOP, dan VMSTAT?Mar 17, 2025 pm 05:28 PM

Artikel ini membincangkan menggunakan Top, HTOP, dan VMSTAT untuk memantau prestasi sistem Linux, memperincikan ciri unik dan pilihan penyesuaian mereka untuk pengurusan sistem yang berkesan.

Bagaimanakah saya menguruskan pakej perisian di Linux menggunakan pengurus pakej (APT, YUM, DNF)?Bagaimanakah saya menguruskan pakej perisian di Linux menggunakan pengurus pakej (APT, YUM, DNF)?Mar 17, 2025 pm 05:26 PM

Artikel membincangkan menguruskan pakej perisian di Linux menggunakan APT, YUM, dan DNF, yang meliputi pemasangan, kemas kini, dan penyingkiran. Ia membandingkan fungsi dan kesesuaian mereka untuk pengagihan yang berbeza.

Bagaimanakah saya menggunakan Ekspresi Biasa (Regex) di Linux untuk pemadanan corak?Bagaimanakah saya menggunakan Ekspresi Biasa (Regex) di Linux untuk pemadanan corak?Mar 17, 2025 pm 05:25 PM

Artikel ini menerangkan cara menggunakan Ekspresi Biasa (Regex) di Linux untuk pencocokan corak, carian fail, dan manipulasi teks, memperincikan sintaks, arahan, dan alat seperti grep, sed, dan awk.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa