Guide d'administration du système Solaris Resource Manager 1.3

Conversions

Les programmes Solaris Resource Manager convertissent les unités internes utilisées pour stocker des valeurs d'attribut, ce qui permet de toujours présenter des unités proportionnelles ou brutes à l'utilisateur. Sauf quelques exceptions, cela signifie que l'utilisateur n'a pas à se préoccuper des unités utilisées par Solaris Resource Manager.

Sous Solaris Resource Manager, les expressions exa, péta, téra, giga, méga et kilo sont utilisées pour représenter les puissances de deux et non de dix. Par exemple, un méga-octet compte 1 048 576 octets et non 1 000 000. La puissance de deux de chaque expression est 60 (exa), 50 (péta), 40 (téra), 30 (giga), 20 (méga) et 10 (kilo).

Les programmes constituant l'interface utilisateur principale du système Solaris Resource Manager sont limadm, liminfo et limreport. Les conversions et mises à l'échelle effectuées sont expliquées en détail dans les sous-rubriques suivantes.

Commande limadm

Lors d'un changement de valeurs d'attribut, limadm permet d'ajouter des caractères aux nombres : [EPTGMK][B][.][wdhms]. Les majuscules et les minuscules sont interchangeables.

Si l'attribut exprime une quantité de stockage (attributs de mémoire) ou un débit de stockage, un caractère du premier groupe (EPTGMK) est permis. Cela est multiplié par le nombre d'octets compris dans un exa-octet (E), un péta-octet (P), un téra-octet (T), un giga-octet (G), un méga-octet (M) ou un kilo-octet (K), selon le cas. Le caractère B facultatif peut être ajouté pour faciliter la lecture, mais n'a aucun effet.

Si l'attribut exprime le temps (date ou heure) ou le débit de stockage, un caractère du deuxième groupe est permis. Cela est multiplié par le nombre de secondes que compte une semaine (w), un jour (d), une heure (h), une minute (m) ou par le nombre de secondes (s), selon le cas.

Un point facultatif peut séparer les unités de stockage et de temps (par exemple, mh, M.h et MB.h expriment tous des "méga-octet par heure").

Si le suffixe M porte à confusion, limadm tente de déduire sa signification selon le contexte. Si cela est impossible, la valeur méga est interprétée par défaut, de préférence aux minutes.

Ces caractères de conversion sont utiles pour éviter les erreurs d'ordre de grandeur en entrant des nombres élevés, mais la quantité est stockée en unités internes, peu importe la méthode d'entrée utilisée.

Le caractère spécial u peut aussi être utilisé seul mais uniquement pour les valeurs d'attribut de mémoire. Il indique que le nombre est en unités machine (internes) et non en octets.

Commande liminfo

La commande liminfo(1SRM) utilise les mêmes suffixes pour les rapports que limadm emploie pour l'entrée (voir ci-dessus). Normalement, liminfo convertit les valeurs en formats proportionnels appropriés pour l'impression, mais l'option -r peut être utilisée pour forcer liminfo à imprimer les valeurs brutes. Par exemple, la mémoire est habituellement exprimée à l'aide d'une unité proportionnelle pertinente comme le méga-octet (p. ex. 102 Mo), mais l'option - r forcera l'impression en octets (p. ex. 106 954 752 octets).

La commande limreport

La commande limreport(1SRM) indique toujours les valeurs sous forme brute. Si des valeurs proportionnelles sont requises, la conversion doit être énoncée explicitement dans l'expression utilisée pour afficher la valeur. Par exemple, pour afficher l'utilisation totale de mémoire virtuelle pour tous les utilisateurs en kilo-octets arrondis au ko près :

# limreport 'flag.real' '%-8.8s %d KB\n' lname '(memory.usage+1k-1)/1k' 

Comme on le voit dans cet exemple, il est possible d'utiliser des suffixes proportionnels pour les nombres dans des expressions, ce qui simplifie la conversion des unités brutes en valeurs proportionnelles.

Notez que les unités internes de certains attributs diffèrent de leur forme brute. Normalement, l'utilisateur n'a pas à s'en préoccuper, car tous les programmes Solaris Resource Manager convertissent en unités proportionnelles ou brutes, mais, à titre d'exemple, certaines expressions de limreport qui précisent une correspondance exacte sur un nombre d'octets échoueront toujours si le nombre indiqué n'est pas un multiple intégral de l'unité interne pertinente.