Come e perché dovrei specificare mtrr_gran_size / mtrr_chunk_size?


8

Ho notato oggi che /var/log/dmesgcontiene diverse decine di righe con informazioni su qualcosa chiamato gran_sizee *BAD*gran_size, seguito da quella che sembra essere un'istruzione per me:

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

Devo fare quello che dice? Come lo farei?

Risposte:


5

MTRR sta per registri di intervallo di tipo di memoria, che rappresenta un nuovo modo di partizionare e gestire le risorse di memoria nel sistema. Questa funzione era stata inserita nei processori a causa delle dimensioni della memoria sempre più grandi. Ci doveva essere un modo in cui la memoria potesse essere allocata e utilizzata in modo più efficace.

Una caratteristica principale di MTRR è mappare le posizioni dei componenti PCI o AGP nel sistema in modo che software, driver possano accedervi in ​​modo rapido ed efficiente.

(da Gentoo Wiki )

Dopo aver letto Risolvere i problemi MTRR di Linux sembra che l'errore che vedi sia segnalato quando mtrr sanitizer non è in grado di scegliere tra diverse opzioni di layout di memoria. Dovrebbe stampare un elenco di possibili opzioni accanto al messaggio di errore. Per far sparire il messaggio, devi specificare qualcosa di simile

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

nei parametri di avvio kernal (dove i valori effettivi provengono da una delle opzioni proposte dal disinfettante).

L'autore dell'articolo afferma che

Ora sono spariti 24 MiB di RAM, ma i miei carichi di lavoro 3d, che sono fondamentalmente contenuti webgl e il simulatore di volo nascosto all'interno di Google Earth, funzionano entrambi con framerate significativamente migliori.

il che mi rende molto interessato ... ho bisogno di controllare dmesgtutte le mie macchine.


0

Secondo [Redhat's Knowledgebase] [1] per RHEL6, aggiornato a gennaio 2017, "specificare mtrr_gran_size / mtrr_chunk_size" significa:

  • Questi messaggi non sono un problema e sono semplicemente avvertimenti. Possono essere ignorati.
  • L'aggiunta di disable_mtrr_cleanup disable_mtrr_trim ai parametri del kernel in /boot/grub/grub.conf disabiliterà il percorso del codice che avvia questi errori e può impedire loro di apparire sul sistema.

Sono ovviamente consapevole che Redhat non è Ubuntu, ma nel complesso eseguono lo stesso kernel, quindi sarei molto sorpreso se non fosse lo stesso per Ubuntu. Questa risposta è offerta come una "seconda opinione".

[1]: https://access.redhat.com/solutions/2852191 - (abbonamento richiesto)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.