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

Sách trắng lag game › L10 Bộ nhớ

Truy cập bộ nhớ NUMA từ xa Remote NUMA access

ID nguyên nhân mem-numa · Phụ trách chính Hạ tầng server (Đội hạ tầng)

Mở thẻ gốc có hình minh họa và thí nghiệm →

Trên server có hai CPU, nếu tiến trình dùng bộ nhớ gắn với CPU bên kia thì truy cập bộ nhớ chậm đi.

Vì sao Thread và bộ nhớ nằm trên hai socket CPU khác nhau → Dẫn đến Truy cập bộ nhớ chậm đi (tùy thiết bị, 1,5–2 lần) → Trên màn hình Cùng cấu hình mà mỗi tiến trình cho hiệu năng khác nhau

Triệu chứng
Quay chậm
Yếu tố
Ngưng trệ
Ai gặp phải
Cả server
Khi nào
Luôn luôn
Phụ trách
Phụ trách chính Hạ tầng server (Đội hạ tầng)
Việc cần làm (Đội hạ tầng)
Ghim tiến trình và bộ nhớ vào một socket (numactl); nếu máy có hai socket thì chia tiến trình server game ra chạy riêng trên từng socket.
Trên đồ thị
Chỉ một phần cao · Thời gian xử lý tick theo tiến trình, bộ nhớ theo node
Chỗ cần xem
Dùng numastat -p PID xem bộ nhớ của tiến trình server game nằm ở NUMA node nào, numa_miss và other_node trong numastat có tăng không, rồi so với node của CPU mà tiến trình đó đang chạy
Đúng nếu
chỉ tiến trình chậm có phần lớn bộ nhớ nằm ở node khác với CPU nó đang chạy, và khi dùng numactl ghim CPU và bộ nhớ vào cùng một node rồi chạy lại thì chênh lệch biến mất
Loại trừ nếu
bố trí node giống tiến trình nhanh mà vẫn chậm → nguyên nhân khác như noisy neighbor, CPU throttling, tải của chính tiến trình đó
Cách kiểm tra
Kiểm tra bằng công cụ hạ tầng (không cần code game)

Nguồn

  1. What is NUMA? Linux kernel
    Bộ nhớ trong cùng cell nhanh hơn và băng thông lớn hơn, bộ nhớ ở cell khác (từ xa) truy cập chậm hơn
  2. numactl(8) — Linux manual page numactl
    --cpunodebind và --membind ghim CPU và bộ nhớ của tiến trình vào một NUMA node cụ thể
  3. numastat(8) — Linux manual page numactl
    Counter numa_miss (cấp phát ở node khác node mong muốn) và other_node (tiến trình chạy ở node khác cấp phát trên node này), -p để xem bộ nhớ của tiến trình theo từng node

Nguyên nhân nên xem cùng

Cùng tầng: L10 Bộ nhớ

Nguyên nhân ở tầng khác gây cùng triệu chứng (Quay chậm)

Xem thẻ gốc có hình minh họa và thí nghiệm