Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan Multi-Gen LRU (MGLRU) pada 023 kernel AL2
Multi-Gen LRU
Mekanisme LRU tradisional menggunakan model dua daftar (aktif dan tidak aktif) untuk melacak penggunaan halaman, yang dapat menjadi tidak efisien dalam beban kerja modern dengan set kerja besar. MGLRU menggantikan ini dengan beberapa “generasi” halaman, memungkinkan kernel untuk membuat keputusan yang lebih cerdas berdasarkan informasi penuaan yang lebih halus.
Manfaat MGLRU meliputi:
-
Keputusan reklamasi yang lebih baik: Identifikasi halaman dingin (tidak terpakai) yang lebih akurat.
-
Latensi yang lebih rendah dan throughput yang lebih baik: Terutama untuk beban kerja dengan ruang alamat besar atau banyak proses bersamaan.
-
Peningkatan retensi cache: Halaman yang digunakan baru-baru ini cenderung tidak diusir sebelum waktunya.
-
Desain yang dapat diskalakan dan hemat kunci: Berkinerja lebih baik pada mesin dengan banyak. CPUs
Konfigurasi dan Tuning
Konfigurasi kernel CONFIG_LRU_GEN
diaktifkan pada AL2 023 kernel. Ini dikompilasi dalam MGLRU tetapi tidak mengaktifkannya secara default.
MGLRU dapat diaktifkan dan disetel menggunakan file. /sys/kernel/mm/lru_gen/enabled
Nilainya adalah bitmask. Disarankan untuk mengaktifkan semua komponen kecuali beberapa dari mereka memiliki efek samping yang tidak diinginkan.
Bit | Komponen-komponen |
---|---|
0 |
Sakelar utama untuk LRU multi-gen. |
1 |
Menghapus bit yang diakses dalam entri tabel halaman daun dalam batch besar, saat MMU mengaturnya (misalnya, pada x86). Perilaku ini secara teoritis dapat memperburuk pertentangan kunci (). mmap_lock Jika dinonaktifkan, LRU multi-gen akan mengalami penurunan kinerja kecil untuk beban kerja yang secara bersebelahan memetakan halaman panas, yang bit yang diakses dapat dihapus oleh batch yang lebih sedikit lebih besar. |
2 |
Menghapus bit yang diakses di entri tabel halaman non-daun juga, saat MMU mengaturnya (misalnya, pada x86). Perilaku ini tidak diverifikasi pada varietas x86 selain Intel dan AMD. Jika dinonaktifkan, LRU multi-gen akan mengalami penurunan kinerja yang dapat diabaikan. |
[yYnN] |
Enable/disable semua komponen di atas. |
Contoh bagaimana MGLRU dapat diaktifkan:
[ec2-user ~]$
echo y >/sys/kernel/mm/lru_gen/enabled
Ini memungkinkan semua komponen:
[ec2-user ~]$
cat /sys/kernel/mm/lru_gen/enabled
0x0007