Non-Uniform Memory Access atau Non-Uniform Memory Architecture (NUMA) adalah desain memori fisik yang digunakan dalam arsitektur SMP (multiprosesor), di mana waktu akses memori tergantung pada lokasi memori relatif terhadap prosesor. Di bawah NUMA, prosesor dapat mengakses memori lokalnya sendiri lebih cepat daripada memori non-lokal, yaitu, memori lokal ke prosesor lain atau memori yang dibagi antar prosesor.
Dalam sistem NUMA, prosesor, memori, dan I/O dikelompokkan bersama ke dalam sel. Karakteristik latency dan bandwidth komunikasi di dalam sel adalah “cepat” sedangkan di luar sel adalah “lambat”. Karena memori dalam sistem NUMA didistribusikan secara fisik tetapi dibagi secara logis, sistem ini menawarkan kinerja yang lebih baik untuk aplikasi yang dioptimalkan untuk menggunakan fitur-fiturnya. Untuk aplikasi yang tidak dioptimalkan, mereka masih menawarkan kinerja yang lebih baik karena perilaku default dirancang untuk tidak berbahaya jika tidak bermanfaat dan mereka masih memiliki akses ke sumber daya bersama yang jauh lebih besar dari memori, CPU, dan ruang disk.
Bagaimana kami dapat mengidentifikasi jika NUMA diaktifkan
NUMA harus diaktifkan di BIOS. Jika dmesg tidak memiliki catatan inisialisasi numa selama bootup, maka ada kemungkinan bahwa pesan terkait NUMA di buffer ring kernel mungkin telah ditimpa.
Sistem yang Diaktifkan NUMA
Jika NUMA diaktifkan di BIOS, maka jalankan perintah ‘numactl –hardware ' untuk membuat daftar inventaris node yang tersedia pada sistem. Di bawah ini adalah contoh output numactl –hardware pada sistem yang memiliki NUMA.
# numactl --hardware available: 2 nodes (0-1) node 0 cpus: 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23 node 0 size: 8157 MB node 0 free: 88 MB node 1 cpus: 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31 node 1 size: 8191 MB node 1 free: 5176 MB node distances: node 0 1 0: 10 20 1: 20 10
NUMA Sistem yang Dinonaktifkan
1. Jika NUMA dinonaktifkan pada BIOS, maka perintah ‘numactl –show ' tidak menampilkan banyak node.
# numactl --show policy: default preferred node: current physcpubind: 0 1 2 3 4 5 6 7 8 9 10 11 cpubind: 0 nodebind: 0 membind: 0
2. Perintah ‘numactl –hardware ‘ juga tidak mencantumkan banyak node.
available: 1 nodes (0) node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 node 0 size: 65525 MB node 0 free: 17419 MB node distances: node 0 0: 10
3. Jika server tidak memiliki dukungan NUMA atau jika opsi BIOS tidak diaktifkan, maka pesan berikut akan terlihat di dmesg
No NUMA configuration found Faking a node at 0000000000000000-0000001027fff000
4. Jika ACPI dinonaktifkan, itu juga akan menonaktifkan NUMA; verifikasi bahwa ACPI tidak dinonaktifkan oleh parameter kernel grub.conf dan hapus jika ditemukan:
$ grep acpi=off /proc/cmdline $