Cette section décrit comment vous pouvez corréler les informations transmises par l'architecture de gestion des pannes (FMA) d'Oracle Solaris avec les ressources des domaines logiques identifiées comme étant en panne.
Le FMA signale les erreurs CPU en termes de nombres de CPU physiques et les erreurs de mémoire en termes d'adresses de mémoire physique.
Si vous voulez déterminer dans quel domaine logique une erreur est survenue et le numéro de CPU virtuelle correspondant ou l'adresse de mémoire réelle dans le domaine, vous devez effectuez un mappage.
Il permet de trouver le domaine ainsi que le numéro de CPU virtuelle dans le domaine correspondant à un numéro de CPU physique donné.
Générez tout d'abord une longue liste analysable de tous les domaines à l'aide de la commande suivante :
primary# ldm list -l -p
Recherchez l'entrée dans les sections VCPU de la liste ayant une zone pid équivalente au numéro de CPU physique.
Si vous trouvez une entrée de ce type, la CPU est dans le domaine sous lequel l'entrée est répertoriée, et le numéro de CPU virtuelle dans le domaine est indiqué par la zone vid de l'entrée.
Si vous ne trouvez pas d'entrée de ce type, la CPU ne se trouve dans aucun domaine.
Il permet de trouver le domaine ainsi que l'adresse de mémoire réelle dans le domaine correspondant à une adresse de mémoire physique (PA) donnée.
Générez tout d'abord une longue liste analysable de tous les domaines.
primary# ldm list -l -p
Recherchez la ligne dans les sections MEMORY de la liste où la PA se trouve dans la plage de pa à (pa + size - 1) ; c'est-à-dire pa ≤ PA ≤ (pa + size - 1). pa et size représentent les valeurs dans les champs correspondants de la ligne.
Si vous trouvez une entrée de ce type, le PA est dans le domaine sous lequel l'entrée est répertoriée, et l'adresse réelle correspondante dans le domaine est indiquée par la zone ra + (PA - pa).
Si vous ne trouvez pas d'entrée de ce type, le PA ne se trouve dans aucun domaine.
La commande suivante produit une longue liste analysable de configurations de domaines logiques.
primary# ldm list -l -p VERSION 1.6 DOMAIN|name=primary|state=active|flags=normal,control,vio-service| cons=SP|ncpu=4|mem=1073741824|util=0.6|uptime=64801| softstate=Solaris running VCPU |vid=0|pid=0|util=0.9|strand=100 |vid=1|pid=1|util=0.5|strand=100 |vid=2|pid=2|util=0.6|strand=100 |vid=3|pid=3|util=0.6|strand=100 MEMORY |ra=0x8000000|pa=0x8000000|size=1073741824 IO |dev=pci@780|alias=bus_a |dev=pci@7c0|alias=bus_b ... DOMAIN|name=ldg1|state=active|flags=normal|cons=5000| ncpu=2|mem=805306368|util=29|uptime=903| softstate=Solaris running VCPU |vid=0|pid=4|util=29|strand=100 |vid=1|pid=5|util=29|strand=100 MEMORY |ra=0x8000000|pa=0x48000000|size=805306368 ... DOMAIN|name=ldg2|state=active|flags=normal|cons=5001| ncpu=3|mem=1073741824|util=35|uptime=775| softstate=Solaris running VCPU |vid=0|pid=6|util=35|strand=100 |vid=1|pid=7|util=34|strand=100 |vid=2|pid=8|util=35|strand=100 MEMORY |ra=0x8000000|pa=0x78000000|size=1073741824 ...Exemple 17-5 Détermination de la CPU virtuelle correspondant à un numéro de CPU physique
La configuration des domaines logiques est présentée dans l'Example 17–4. L'exemple suivant explique comment déterminer le domaine et la CPU virtuelle correspondant au numéro de CPU physique 5, ainsi que le domaine et l'adresse réelle correspondant à l'adresse physique 0x7e816000.
En recherchant dans les entrées VCPU de la liste l'une des zones pid égale à 5, vous pouvez trouver l'entrée suivante sous le domaine logique ldg1.
|vid=1|pid=5|util=29|strand=100
Par conséquent, le numéro de CPU physique 5 se trouve dans le domaine ldg1 et dans le domaine, il a le numéro de CPU virtuelle 1.
En recherchant dans les entrées MEMORY de la liste, vous pouvez trouver l'entrée suivante sous le domaine ldg2.
ra=0x8000000|pa=0x78000000|size=1073741824
Où 0x78000000 <= 0x7e816000 <= (0x78000000 + 1073741824 - 1), c'est-à-dire pa <= PA <= (pa + taille - 1). Par conséquent, le PA se trouve dans le domaine ldg2 et l'adresse réelle correspondante est 0x8000000 + (0x7e816000 - 0x78000000) = 0xe816000.