Bagaimana dan mengapa saya harus menentukan mtrr_gran_size / mtrr_chunk_size?

8

Saya perhatikan hari ini yang /var/log/dmesgberisi beberapa lusin baris dengan informasi tentang sesuatu yang dipanggil gran_sizedan *BAD*gran_size, diikuti oleh apa yang tampaknya menjadi instruksi bagi saya:

[    0.000000] mtrr_cleanup: can not find optimal value
[    0.000000] please specify mtrr_gran_size/mtrr_chunk_size

Apakah saya perlu melakukan apa yang dikatakannya? Bagaimana saya?

ændrük
sumber

Jawaban:

5

MTRR adalah singkatan dari register Tipe Memori yang merupakan cara baru untuk mempartisi dan mengelola sumber daya memori di sistem Anda. Fitur ini telah ditempatkan di prosesor karena ukuran memori menjadi lebih besar dan lebih besar. Harus ada cara agar memori dapat dialokasikan ditangani dan digunakan secara lebih efektif.

Fitur utama MTRR adalah memetakan lokasi komponen PCI atau AGP di sistem Anda sehingga perangkat lunak, driver dapat mengaksesnya dengan cepat dan efisien.

(dari Gentoo Wiki )

Setelah membaca Mengatasi masalah MTRR linux , tampak bahwa kesalahan yang Anda lihat dilaporkan ketika mtrr sanitizer tidak dapat memilih dari beberapa opsi tata letak memori. Itu harus mencetak daftar opsi yang mungkin di sebelah pesan kesalahan. Untuk membuat pesan pergi, Anda perlu menentukan sesuatu seperti

enable_mtrr_cleanup mtrr_spare_reg_nr=1 mtrr_gran_size=32M mtrr_chunk_size=128M

dalam parameter boot kernal (di mana nilai aktual berasal dari salah satu opsi yang diusulkan oleh sanitizer).

Penulis artikel mengklaim itu

Sekarang 24MiB ram hilang, tetapi beban kerja 3d saya, yang pada dasarnya adalah konten webgl dan simulator penerbangan tersembunyi di dalam google earth, menjalankan keduanya pada framerates yang jauh lebih baik.

yang membuat saya sangat tertarik ... perlu memeriksa dmesgsemua mesin saya.

Sergey
sumber
0

Menurut [Redhat's Knowledgebase] [1] untuk RHEL6, diperbarui Januari 2017, "harap sebutkan mtrr_gran_size / mtrr_chunk_size" berarti:

  • Pesan-pesan ini bukan masalah dan hanya peringatan. Mereka bisa diabaikan.
  • Menambahkan disable_mtrr_cleanup disable_mtrr_trim ke parameter kernel di /boot/grub/grub.conf akan menonaktifkan jalur kode yang menginisiasi kesalahan ini dan dapat mencegahnya muncul di sistem.

Saya tentu saja sadar bahwa Redhat bukan Ubuntu, tetapi pada umumnya mereka menjalankan kernel yang sama jadi saya akan sangat terkejut jika itu tidak sama untuk Ubuntu. Jawaban ini ditawarkan sebagai "pendapat kedua".

[1]: https://access.redhat.com/solutions/2852191 - (wajib berlangganan)

RCD
sumber