Jak i dlaczego powinienem określić mtrr_gran_size / mtrr_chunk_size?

8

Zauważyłem dzisiaj, że /var/log/dmesgzawiera kilkadziesiąt wierszy z informacjami o czymś o nazwie gran_sizei *BAD*gran_size, następnie, co wydaje się być nauka dla mnie:

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

Czy muszę robić to, co mówi? Jak bym

ændrük
źródło

Odpowiedzi:

5

MTRR oznacza rejestry zakresu Memory Type, który jest nowym sposobem partycjonowania i zarządzania zasobami pamięci w twoim systemie. Ta funkcja została umieszczona w procesorach ze względu na coraz większe rozmiary pamięci. Musi istnieć sposób, aby pamięć mogła być przydzielana adresowana i wykorzystywana bardziej efektywnie.

Główną cechą MTRR jest mapowanie lokalizacji komponentów PCI lub AGP w systemie, aby oprogramowanie, sterowniki mogły uzyskać do nich szybki i wydajny dostęp.

(z Wiki Gentoo )

Po przeczytaniu Rozwiązywanie problemów z linux MTRR wydaje się, że widziany błąd jest zgłaszany, gdy sanitizer mtrr nie jest w stanie wybrać spośród kilku opcji układu pamięci. Powinien wydrukować listę możliwych opcji obok komunikatu o błędzie. Aby wiadomość zniknęła, musisz określić coś takiego

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

w parametrach rozruchowych jądra (gdzie rzeczywiste wartości pochodzą z jednej z opcji proponowanych przez środek dezynfekujący).

Autor artykułu twierdzi, że

Teraz 24MiB pamięci RAM zniknęło, ale moje obciążenia 3D, które są w zasadzie treściami webgl i ukrytym symulatorem lotu w Google Earth, działają w znacznie lepszych klatkach na sekundę.

co mnie bardzo interesuje ... muszę sprawdzić dmesgna wszystkich moich maszynach.

Siergiej
źródło
0

Zgodnie z [Bazą wiedzy Redhat] [1] dla RHEL6, zaktualizowaną w styczniu 2017 r., „Proszę podać mtrr_gran_size / mtrr_chunk_size” oznacza:

  • Te wiadomości nie stanowią problemu i są jedynie ostrzeżeniami. Można je zignorować.
  • Dodanie disable_mtrr_cleanup disable_mtrr_trim do parametrów jądra w /boot/grub/grub.conf spowoduje wyłączenie ścieżki kodu, która inicjuje te błędy i może zapobiec ich pojawieniu się w systemie.

Oczywiście jestem świadomy, że Redhat nie jest Ubuntu, ale ogólnie rzecz biorąc, działają one w tym samym jądrze, więc byłbym bardzo zaskoczony, gdyby nie było tak samo w przypadku Ubuntu. Ta odpowiedź jest oferowana jako „druga opinia”.

[1]: https://access.redhat.com/solutions/2852191 - (wymagana subskrypcja)

Dokbua
źródło