한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Buku Putih Lag Game › L10 Memori

Akses memori NUMA remote Remote NUMA access

ID penyebab mem-numa · Penanggung jawab utama Infrastruktur server (Tim Infrastruktur)

Buka kartu interaktif dengan gambar dan simulasi →

Pada server dengan dua CPU, akses memori melambat jika thread memakai memori yang terpasang pada CPU seberang.

Mengapa Thread dan memori ditempatkan di socket CPU yang berbeda → Akibatnya Akses memori melambat (1,5–2 kali, tergantung perangkat) → Di layar Spesifikasi sama, tetapi performa berbeda di setiap proses

Gejala
Slow motion
Faktor
Stall
Siapa yang mengalami
Seluruh server
Kapan
Selalu
Penanggung jawab
Penanggung jawab utama Infrastruktur server (Tim Infrastruktur)
Tugas Tim Infrastruktur
Kunci proses dan memori di satu socket (numactl); jika ada dua socket, jalankan proses server game terpisah untuk setiap socket.
Di grafik
Hanya sebagian yang tinggi · Waktu tick per proses, memori per node
Yang diperiksa
Dengan numastat -p PID, periksa di node NUMA mana memori proses server game berada dan apakah numa_miss dan other_node di numastat bertambah, lalu bandingkan dengan node CPU tempat proses itu berjalan
Cocok jika
Hanya proses yang lambat yang sebagian besar memorinya ada di node yang berbeda dari CPU tempatnya berjalan, dan perbedaannya hilang setelah proses dijalankan ulang dengan CPU dan memori dikunci di satu node menggunakan numactl
Tidak cocok jika
Penempatan node sama dengan proses yang cepat tetapi tetap lambat: lebih mungkin penyebab lain seperti noisy neighbor, CPU throttling, atau beban proses itu sendiri
Sarana pemeriksaan
Tools infrastruktur (tanpa perlu kode game)

Sumber

  1. What is NUMA? Linux kernel
    Memori di cell yang sama lebih cepat dan bandwidth-nya lebih besar, sedangkan akses ke memori di cell lain (remote) lebih lambat
  2. numactl(8) — Linux manual page numactl
    --cpunodebind dan --membind mengunci CPU dan memori proses ke node NUMA tertentu
  3. numastat(8) — Linux manual page numactl
    Counter numa_miss (dialokasikan di node selain yang diinginkan) dan other_node (dialokasikan di node ini oleh proses yang berjalan di node lain); -p menampilkan memori proses per node

Lihat juga

Lapisan yang sama: L10 Memori

Penyebab di lapisan lain dengan gejala yang sama (Slow motion)

Lihat kartu interaktif dengan gambar dan simulasi