


Mari 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.
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:
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.
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
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!

Mod penyelenggaraan Linux boleh dimasukkan melalui menu grub. Langkah -langkah tertentu ialah: 1) Pilih kernel dalam menu grub dan tekan 'E' untuk mengedit, 2) Tambah 'Single' atau '1' pada akhir garis 'Linux', 3) Tekan Ctrl X untuk memulakan. Mod penyelenggaraan menyediakan persekitaran yang selamat untuk tugas seperti pembaikan sistem, penetapan semula kata laluan dan peningkatan sistem.

Langkah -langkah untuk memasukkan mod pemulihan Linux adalah: 1. Mulakan semula sistem dan tekan kekunci khusus untuk memasukkan menu Grub; 2. Pilih pilihan dengan (pemulihanMode); 3. Pilih operasi dalam menu Mod Pemulihan, seperti FSCK atau Root. Mod pemulihan membolehkan anda memulakan sistem dalam mod pengguna tunggal, melakukan pemeriksaan sistem fail dan pembaikan, mengedit fail konfigurasi, dan operasi lain untuk membantu menyelesaikan masalah sistem.

Komponen teras Linux termasuk kernel, sistem fail, shell dan alat biasa. 1. Kernel menguruskan sumber perkakasan dan menyediakan perkhidmatan asas. 2. Sistem fail menganjurkan dan menyimpan data. 3. Shell adalah antara muka bagi pengguna untuk berinteraksi dengan sistem. 4. Alat umum membantu menyelesaikan tugas harian.

Struktur asas Linux termasuk kernel, sistem fail, dan shell. 1) Sumber perkakasan pengurusan kernel dan gunakan UNAME-R untuk melihat versi. 2) Sistem fail ext4 menyokong fail dan log besar dan dibuat menggunakan mkfs.ext4. 3) Shell menyediakan interaksi baris arahan seperti BASH, dan menyenaraikan fail menggunakan LS-L.

Langkah -langkah utama pengurusan dan penyelenggaraan sistem Linux termasuk: 1) menguasai pengetahuan asas, seperti struktur sistem fail dan pengurusan pengguna; 2) Menjalankan pemantauan sistem dan pengurusan sumber, gunakan alat atas, HTOP dan lain -lain; 3) Gunakan log sistem untuk menyelesaikan masalah, gunakan JournalCTL dan alat lain; 4) Tulis skrip automatik dan penjadualan tugas, gunakan alat Cron; 5) Melaksanakan pengurusan dan perlindungan keselamatan, konfigurasikan firewall melalui iptables; 6) Menjalankan pengoptimuman prestasi dan amalan terbaik, menyesuaikan parameter kernel dan mengembangkan tabiat yang baik.

Mod penyelenggaraan Linux dimasukkan dengan menambah init =/bin/bash atau parameter tunggal pada permulaan. 1. Masukkan Mod Penyelenggaraan: Edit menu Grub dan tambahkan parameter permulaan. 2. Mengembalikan sistem fail untuk membaca dan menulis mod: mount-oremount, rw/. 3. Membaiki sistem fail: Gunakan arahan FSCK, seperti FSCK/DEV/SDA1. 4. Menyokong data dan beroperasi dengan berhati -hati untuk mengelakkan kehilangan data.

Artikel ini membincangkan cara meningkatkan kecekapan pemprosesan data Hadoop pada sistem Debian. Strategi pengoptimuman meliputi peningkatan perkakasan, pelarasan parameter sistem operasi, pengubahsuaian konfigurasi Hadoop, dan penggunaan algoritma dan alat yang cekap. 1. Pengukuhan sumber perkakasan memastikan bahawa semua nod mempunyai konfigurasi perkakasan yang konsisten, terutama memberi perhatian kepada prestasi CPU, memori dan peralatan rangkaian. Memilih komponen perkakasan berprestasi tinggi adalah penting untuk meningkatkan kelajuan pemprosesan keseluruhan. 2. Sistem operasi Tunes deskriptor fail dan sambungan rangkaian: Ubah suai fail /etc/security/limits.conf untuk meningkatkan had atas deskriptor fail dan sambungan rangkaian yang dibenarkan dibuka pada masa yang sama oleh sistem. Pelarasan Parameter JVM: Laraskan fail Hadoop-env.sh

Panduan ini akan membimbing anda untuk belajar cara menggunakan syslog dalam sistem Debian. SYSLOG adalah perkhidmatan utama dalam sistem Linux untuk sistem pembalakan dan mesej log aplikasi. Ia membantu pentadbir memantau dan menganalisis aktiviti sistem untuk mengenal pasti dan menyelesaikan masalah dengan cepat. 1. Pengetahuan asas syslog Fungsi teras syslog termasuk: mengumpul dan menguruskan mesej log secara terpusat; menyokong pelbagai format output log dan lokasi sasaran (seperti fail atau rangkaian); Menyediakan fungsi tontonan log dan penapisan masa nyata. 2. Pasang dan konfigurasikan syslog (menggunakan rsyslog) Sistem Debian menggunakan rsyslog secara lalai. Anda boleh memasangnya dengan arahan berikut: sudoaptupdatesud


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Dreamweaver Mac版
Alat pembangunan web visual

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa