Comment et pourquoi devrais-je spécifier mtrr_gran_size / mtrr_chunk_size?

8

J'ai remarqué aujourd'hui que /var/log/dmesgplusieurs dizaines de lignes contiennent des informations sur quelque chose appelé gran_sizeet *BAD*gran_size, suivi par ce qui semble être une instruction pour moi:

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

Dois-je faire ce qu'il dit? Comment le ferais-je?

ændrük
la source

Réponses:

5

MTRR signifie Memory Type range registers, qui est une nouvelle façon de partitionner et de gérer les ressources mémoire de votre système. Cette fonctionnalité avait été placée dans les processeurs en raison des tailles de mémoire de plus en plus grandes. Il devait y avoir un moyen d'allouer la mémoire et de l'utiliser plus efficacement.

Une caractéristique principale du MTRR est de cartographier les emplacements des composants PCI ou AGP dans votre système afin que les logiciels et les pilotes puissent y accéder rapidement et efficacement.

(de Gentoo Wiki )

Après avoir lu la résolution des problèmes de Linux MTRR, il apparaît que l'erreur que vous voyez est signalée lorsque mtrr sanitizer n'est pas en mesure de choisir parmi plusieurs options de disposition de la mémoire. Il devrait imprimer une liste d'options possibles à côté du message d'erreur. Pour que le message disparaisse, vous devez spécifier quelque chose comme

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

dans les paramètres de démarrage kernal (où les valeurs réelles proviennent d'une des options proposées par le désinfectant).

L'auteur de l'article affirme que

Maintenant, 24 Mo de RAM ont disparu, mais mes charges de travail 3D, qui sont essentiellement du contenu Webgl et le simulateur de vol caché à l'intérieur de Google Earth, fonctionnent à des taux de cadence nettement supérieurs.

ce qui me rend très intéressé ... besoin de vérifier dmesgtoutes mes machines.

Sergey
la source
0

Selon [la base de connaissances de Redhat] [1] pour RHEL6, mise à jour en janvier 2017, "veuillez spécifier mtrr_gran_size / mtrr_chunk_size" signifie:

  • Ces messages ne sont pas un problème et sont simplement des avertissements. Ils peuvent être ignorés.
  • L'ajout de disable_mtrr_cleanup disable_mtrr_trim aux paramètres du noyau dans /boot/grub/grub.conf désactivera le chemin de code qui initie ces erreurs et peut les empêcher d'apparaître sur le système.

Je suis bien sûr conscient que Redhat n'est pas Ubuntu, mais dans l'ensemble, ils exécutent le même noyau, donc je serais très surpris si ce n'était pas la même chose pour Ubuntu. Cette réponse est proposée comme un "deuxième avis".

[1]: https://access.redhat.com/solutions/2852191 - (abonnement requis)

RCD
la source