web-dev-qa-db-fra.com

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

J'ai remarqué aujourd'hui que /var/log/dmesg contient plusieurs douzaines de lignes contenant des informations sur quelque chose appelé _gran_size_ et _*BAD*gran_size_, suivies de 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
_

Ai-je besoin de faire ce que ça dit? Comment pourrais-je?

8
ændrük

MTRR signifie "type de mémoire", 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 car la taille de la mémoire devenait de plus en plus grande. Il devait y avoir un moyen d’allouer la mémoire, de l’adresser et de l’utiliser plus efficacement.

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

(de Gentoo Wiki )

Après avoir lu 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 la disposition de la mémoire. Il convient d’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 mémoire vive sont partis, 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 à la fois à des cadrages nettement meilleurs.

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

5
Sergey

Selon [Redhat's Knowledgebase] [1] pour RHEL6, mise à jour en janvier 2017, "spécifiez 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 d'accès au code qui initie ces erreurs et peut les empêcher de s'afficher sur le système.

Je suis bien sûr conscient que Redhat n'est pas Ubuntu, mais dans l'ensemble, ils utilisent le même noyau. Je serais très surpris que ce ne soit pas la même chose pour Ubuntu. Cette réponse est proposée à titre de "deuxième avis".

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

0
RCD