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

Elaboration de rapports à l'aide de rcapstat

Les exemples contenus dans cette rubrique montrent comment utiliser rcapstat pour surveiller l'utilisation des ressources par les ensembles de processus pour lesquels des limites d'utilisation de la mémoire physique ont été définies.

Utilisation de rcapstat pour élaborer un rapport concernant les informations relatives aux limites d'utilisation et aux noeuds limites

Des limites d'utilisation sont définies pour deux noeuds limites associés à deux utilisateurs. La limite d'utilisation définie pour user1 est de 50 méga-octets et celle définie pour user2 est de 10 méga-octets.

La commande ci-dessous permet d'élaborer des rapports avec une fréquence d'échantillonnage de 5 secondes. Cinq rapports seront émis, un après chaque échantillonnage.


usermachine% rcapstat 5 5
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   35M   50M   50M    0K 3312K    0K
 78194 user2       1 2368K 1856K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   35M   50M    0K    0K    0K    0K
 78194 user2       1 2368K 1856K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   35M   50M    0K    0K    0K    0K
 78194 user2       1 2368K 1928K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   35M   50M    0K    0K    0K    0K
 78194 user2       1 2368K 1928K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   35M   50M    0K    0K    0K    0K
 78194 user2       1 2368K 1928K   10M    0K    0K    0K    0K

Les trois premières lignes de la sortie constituent le premier rapport, qui contient les informations relatives aux limites d'utilisation et aux noeuds pour les deux noeuds limites, et les statistiques de pagination depuis le démarrage de rcapd. Les colonnes at et pg contiennent une valeur supérieure à zéro pour user1 et nulle pour user2. Cela indique que user1 a dépassé sa limite d'utilisation à un moment donné de l'historique du démon, mais pas user2.

Les rapports suivants contiennent des statistiques de pagination depuis les intervalles précédents, mais ne montrent aucune activité significative.

Abaissement de la limite d'utilisation d'un noeud limite

La commande limadm(1MSRM) peut être utilisée pour abaisser la limite d'utilisation de mémoire d'un noeud limite, ce qui rend la limitation encore plus restrictive. rcapd applique la nouvelle limite d'utilisation à l'échéance du prochain intervalle de configuration (consultez la page de manuel rcapadm( 1MSRM)). Un signal peut également être envoyé pour provoquer une application immédiate de la nouvelle limite d'utilisation par rcapd.


admin# limadm set rss.limit=30M user1
admin# pkill -HUP rcapd

La commande ci-dessous permet d'élaborer des rapports avec une fréquence d'échantillonnage de 5 secondes. Cinq rapports seront émis, un après chaque échantillonnage.


admin# rcapstat 5 5
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   35M   30M   50M    0K 3312K    0K
 78194 user2       1 2368K 1856K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   36M   30M   52M   52M  632K  632K
 78194 user2       1 2368K 2096K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   33M   30M   57M   52M  816K  632K
 78194 user2       1 2368K 1968K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   27M   30M 4792K 4792K   40K   40K
 78194 user2       1 2368K 1144K   10M    0K    0K    0K    0K
    id lnode   nproc    vm   rss   cap    at avgat    pg avgpg
112270 user1      24  123M   27M   30M    0K    0K    0K    0K
 78194 user2       1 2368K 1144K   10M    0K    0K    0K    0K

Lorsque la limite d'utilisation a été abaissée à 30 méga-octets au lieu de 50, rcapd a répondu en tentant de renvoyer les 6 méga-octets de mémoire résidente excédentaires par rapport à la limite d'utilisation. Cet objectif a été atteint ; il n'était dépassé que de peu.

Utilisation de rcapstat pour surveiller la taille RSS d'un projet

La commande ci-dessous permet d'élaborer des rapports avec une fréquence d'échantillonnage de 5 secondes. Cinq rapports seront émis, un après chaque échantillonnage.


user1machine% rcapstat 5 5

id     project   nproc    vm   rss   cap    at avgat    pg avgpg
376565 user1        57  209M   46M   10M  440M  220M 5528K 2764K
376565 user1        57  209M   44M   10M  394M  131M 4912K 1637K
376565 user1        56  207M   43M   10M  440M  147M 6048K 2016K
376565 user1        56  207M   42M   10M  522M  174M 4368K 1456K
376565 user1        56  207M   44M   10M  482M  161M 3376K 1125K

Dans cet exemple, le projet user1 a une taille RSS qui dépasse la limite d'utilisation de la mémoire physique. Les valeurs autres que zéro qui figurent dans la colonne pg indiquent que rcapd libère constamment de la mémoire pour tenter de respecter la limite en abaissant l'utilisation de la mémoire physique par les processus du projet. Comme le montrent les valeurs changeantes de rss, qui ne diminuent pas en conséquence, rcapd n'y parvient pas. Cela signifie que la mémoire résidente de l'application est activement utilisée, ce qui force rcapd à agir sur l'ensemble actif. Dans ces conditions, le système continue à enregistrer de forts taux de défaillance de pages et un trafic d'E/S correspondant, jusqu'à ce que l'ensemble actif soit réduit, que la limite soit abaissée ou que l'application change son schéma d'accès à la mémoire.

Détermination de la taille de l'ensemble actif d'un projet

L'exemple ci-dessous est une suite de l'exemple précédent et utilise le même projet.


example% rcapstat 5 5
    id project    nproc    vm   rss   cap    at avgat    pg avgpg
376565 user1         56  207M   44M   10M  381M  191M   15M 7924K
376565 user1         56  207M   46M   10M  479M  160M 2696K  898K
376565 user1         56  207M   46M   10M  424M  141M 7280K 2426K
376565 user1         56  207M   43M   10M  401M  201M 4808K 2404K
376565 user1         56  207M   43M   10M  456M  152M 4800K 1600K
376565 user1         56  207M   44M   10M  486M  162M 4064K 1354K
376565 user1         56  207M   52M  100M  191M   95M 1944K  972K
376565 user1         56  207M   55M  100M    0K    0K    0K    0K
376565 user1         56  207M   56M  100M    0K    0K    0K    0K
376565 user1         56  207M   56M  100M    0K    0K    0K    0K
376565 user1         56  207M   56M  100M    0K    0K    0K    0K
376565 user1         56  207M   56M  100M    0K    0K    0K    0K

Il est possible de faire de l'ensemble résident l'ensemble actif du projet en empêchant l'application des limites d'utilisation, et cela soit en augmentant celle d'un projet, soit en changeant la valeur minimum de mise en application des limites d'utilisation (consultez la page de manuel rcapadm(1MSRM)). La colonne rss peut se stabiliser et afficher la taille de l'ensemble actif du projet, comme dans cet exemple. C'est la valeur minimum qui permet aux processus du projet de fonctionner sans connaître perpétuellement des erreurs de pagination.