4.6. Informations sp�cifiques � Red Hat Enterprise Linux
En raison de la complexit� inh�rente � un syst�me d'exploitation dot� d'une m�moire virtuelle pagin�e � la demande, le contr�le des ressources associ�es � la m�moire peut �tre quelque peu d�routant sous Red Hat Enterprise Linux. Il est par cons�quent pr�f�rable de commencer avec les outils simples et d'avancer progressivement.
� l'aide de la commande free, il est possible d'obtenir un aper�u concis (bien qu'�l�mentaire) de l'utilisation de la m�moire et du swap, comme le montre l'extrait ci-dessous�:
total used free shared buffers cached
Mem: 1288720 361448 927272 0 27844 187632
-/+ buffers/cache: 145972 1142748
Swap: 522104 0 522104
|
Notez que ce syst�me ne dispose que de 1,2 Go de m�moire vive (RAM) dont seulement 350 Mo sont r�ellement utilis�s. Comme on peut le supposer avec un syst�me dot� d'une telle quantit� de RAM libre, aucune partie des 500 Mo de la partition swap n'est utilis�e.
Comparez maintenant l'exemple ci-dessus avec celui qui suit�:
total used free shared buffers cached
Mem: 255088 246604 8484 0 6492 111320
-/+ buffers/cache: 128792 126296
Swap: 530136 111308 418828
|
Ce syst�me dispose d'environ 256 Mo de RAM dont la majorit� est utilis�e, ne laissant qu'environ 8 Mo de libre. Plus de 100 Mo des 512 Mo de la partition swap sont utilis�s. Bien que le syst�me en question soit certainement plus limit� en termes de m�moire que le syst�me de notre premier exemple, il est n�cessaire d'examiner la situation plus en profondeur afin de d�terminer si la limitation de m�moire entra�ne des probl�mes de performance.
Bien que la commande vmstat soit plus �nigmatique que free, elle a l'avantage de fournir plus d'informations que les seules statistiques sur l'utilisation de la m�moire. Ci-apr�s figure la sortie de la commande vmstat 1 10�:
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
2 0 0 111304 9728 7036 107204 0 0 6 10 120 24 10 2 89
2 0 0 111304 9728 7036 107204 0 0 0 0 526 1653 96 4 0
1 0 0 111304 9616 7036 107204 0 0 0 0 552 2219 94 5 1
1 0 0 111304 9616 7036 107204 0 0 0 0 624 699 98 2 0
2 0 0 111304 9616 7052 107204 0 0 0 48 603 1466 95 5 0
3 0 0 111304 9620 7052 107204 0 0 0 0 768 932 90 4 6
3 0 0 111304 9440 7076 107360 92 0 244 0 820 1230 85 9 6
2 0 0 111304 9276 7076 107368 0 0 0 0 832 1060 87 6 7
3 0 0 111304 9624 7092 107372 0 0 16 0 813 1655 93 5 2
2 0 2 111304 9624 7108 107372 0 0 0 972 1189 1165 68 9 23
|
Dans cet extrait de 10 secondes, la quantit� de m�moire libre (le champ free) change quelque peu et il y a une certaine activit� d'E/S associ�e au swap (les champs si et so), mais d'une mani�re g�n�rale, ce syst�me fonctionne bien. Ceci �tant, il est difficile de conna�tre l'importance de la charge de travail suppl�mentaire que le syst�me pourrait accepter, �tant donn� l'utilisation actuelle de m�moire.
Lors de toute recherche de probl�me en relation avec la m�moire, il est souvent n�cessaire de d�terminer comment le sous-syst�me de m�moire virtuelle de Red Hat Enterprise Linux utilise la m�moire du syst�me. � l'aide de la commande sar, il est possible d'examiner cet aspect de la performance du syst�me de mani�re plus d�taill�e.
En parcourant le rapport sar -r suivant, il est possible d'examiner en d�tail l'utilisation de la m�moire et du swap�:
Linux 2.4.20-1.1931.2.231.2.10.ent (pigdog.example.com) 07/22/2003
12:00:01 AM kbmemfree kbmemused %memused kbmemshrd kbbuffers kbcached
12:10:00 AM 240468 1048252 81.34 0 133724 485772
12:20:00 AM 240508 1048212 81.34 0 134172 485600
…
08:40:00 PM 934132 354588 27.51 0 26080 185364
Average: 324346 964374 74.83 0 96072 467559
|
Les champs kbmemfree et kbmemused fournissent des statistiques typiques sur la m�moire libre et la m�moire utilis�e, le pourcentage de la m�moire utilis�e apparaissant dans le champ %memused. Les champs kbbuffers et kbcached quant � eux indiquent la quantit� de kilo-octets de m�moire allou�e aux tampons (ou buffers) et au cache de donn�es de tout le syst�me.
Le champ kbmemshrd affiche toujours un z�ro pour des syst�mes (tels que Red Hat Enterprise Linux) utilisant un noyau Linux 2.4.
Notez que les lignes de ce rapport ont �t� tronqu�es afin de tenir sur la page. Ci-apr�s figure la partie restante de chaque ligne � laquelle l'horodatage a �t� ajout�, afin de faciliter la lecture�:
12:00:01 AM kbswpfree kbswpused %swpused
12:10:00 AM 522104 0 0.00
12:20:00 AM 522104 0 0.00
…
08:40:00 PM 522104 0 0.00
Average: 522104 0 0.00
|
Pour l'utilisation du swap, les champs kbswpfree et kbswpused pr�cisent en kilo-octets la quantit� d'espace swap libre et utilis�, le champ %swpused lui, exprimant en pourcentage la quantit� d'espace swap utilis�.
Pour en savoir plus sur l'activit� d'�change de m�moire (ou swapping) se produisant, consultez le rapport sar -W dont un exemple figure ci-apr�s�:
Linux 2.4.20-1.1931.2.231.2.10.entsmp (raptor.example.com) 07/22/2003
12:00:01 AM pswpin/s pswpout/s
12:10:01 AM 0.15 2.56
12:20:00 AM 0.00 0.00
…
03:30:01 PM 0.42 2.56
Average: 0.11 0.37
|
Comme vous pouvez le remarquer, il y avait trois fois moins de pages provenant de swap (pswpin/s) qu'il n'y en avait allant vers swap (pswpout/s).
Pour mieux comprendre comment les pages sont utilis�es, reportez-vous au rapport sar -B suivant�:
Linux 2.4.20-1.1931.2.231.2.10.entsmp (raptor.example.com) 07/22/2003
12:00:01 AM pgpgin/s pgpgout/s activepg inadtypg inaclnpg inatarpg
12:10:00 AM 0.03 8.61 195393 20654 30352 49279
12:20:00 AM 0.01 7.51 195385 20655 30336 49275
…
08:40:00 PM 0.00 7.79 71236 1371 6760 15873
Average: 201.54 201.54 169367 18999 35146 44702
|
Il est possible de d�terminer ici le nombre de blocs pagin�s en m�moire par seconde depuis le disque (pgpgin/s) et celui des blocs pagin�s sur le disque depuis la m�moire (pgpgout/s). Ces statistiques sont utilis�es comme barom�tre de l'activit� globale de la m�moire virtuelle.
Toutefois, il est possible d'obtenir plus d'informations en examinant les autres champs de ce rapport. Le noyau de Red Hat Enterprise Linux identifie toutes les pages comme �tant soit actives, soit inactives. Comme le nom l'indique, des pages actives sont d'une mani�re ou d'une autre en cours d'utilisation (en temps que pages de processus ou tampon par exemple) alors que des pages inactives ne le sont pas. Notre exemple de rapport montre que la liste des pages actives (le champ activepg) est en moyenne de 660 Mo[1].
Les autres champs figurant dans ce rapport se concentrent sur la liste des pages inactives — des pages qui pour une raison ou une autre n'ont pas �t� r�cemment utilis�es. Le champ inadtypg indique le nombre de pages inactives qui sont sales (ou dirty, c'est-�-dire qui ont �t� modifi�es) et peuvent �tre enregistr�es sur le disque. Le champ inaclnpg d'autre part, sp�cifie le nombre de pages inactives qui sont propres (ou clean, c'est-�-dire qui n'ont pas �t� modifi�es) et ne doivent par cons�quent pas �tre enregistr�es sur disque.
Le champ inatarpg indique la taille souhait�e de la liste des pages inactives. Cette valeur, calcul�e par le noyau Linux, est d�termin�e de sorte que la liste des pages inactives demeure suffisamment grande pour servir de r�serve en cas de remplacement de pages.
Pour obtenir des informations suppl�mentaires sur l'�tat (et plus particuli�rement sur la fr�quence � laquelle les pages changent d'�tat), consultez le rapport sar -R dont un exemple figure ci-apr�s�:
Linux 2.4.20-1.1931.2.231.2.10.entsmp (raptor.example.com) 07/22/2003
12:00:01 AM frmpg/s shmpg/s bufpg/s campg/s
12:10:00 AM -0.10 0.00 0.12 -0.07
12:20:00 AM 0.02 0.00 0.19 -0.07
…
08:50:01 PM -3.19 0.00 0.46 0.81
Average: 0.01 0.00 -0.00 -0.00
|
Les statistiques apparaissant dans le rapport sar ci-dessus sont uniques dans le sens o� les valeurs sont positives, n�gatives ou �quivalentes � z�ro. Lorsque la valeur est positive, elle indique le taux selon lequel des pages de ce type augmentent. Lorsqu'elle est n�gative, elle indique le taux selon lequel des pages de ce type diminuent. Finalement, une valeur de z�ro indique que des pages de ce type n'augmentent ni ne diminuent.
Dans cet exemple, le dernier �chantillon montre qu'une quantit� l�g�rement sup�rieure � trois pages par seconde est allou�e dans la liste des pages libres (le champ frmpg/s) et que presque une page par seconde est ajout�e au cache de pages (le champ campg/s). La liste des pages utilis�es comme tampons (le champ bufpg/s) a augment� d'environ une page toutes les deux secondes, alors que la liste des pages de m�moire partag�e (le champ shmpg/s) n'a elle, ni augment�, ni diminu� en nombre.