> Tech > Mémoire

Mémoire

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Les goulots d'étranglement dans NT Server sont souvent dus à  une mémoire étriquée. Or, une déficience de la mémoire peut se déguiser sous la forme d'autres problèmes, comme une CPU surchargée ou des I/O disque lents. Le meilleur premier indicateur d'un goulot d'étranglement de la mémoire est un rythme élevé

Mémoire

et constant de défauts de page hard (hard page faults) (plus de cinq par seconde, par exemple). Les défauts de page hard se produisent quand un programme, ne pouvant trouver les données dont il a besoin en mémoire physique, doit les extraire du disque. Performance Monitor permet de déterminer si le système souffre d’une pénurie de RAM. Pour connaître l’état de la mémoire d’un système, les compteurs suivants sont précieux :

· Memory : Pages/sec – Montre le nombre de pages demandées qui ne sont pas immédiatement disponibles dans la RAM et qu’il faut lire sur le disque ou qu’il a fallu écrire sur le disque pour libérer de la place dans la RAM pour d’autres pages. Si ce nombre est élevé alors que la charge du système est normale, il faut songer à  augmenter la RAM. Si Memory : Pages/sec augmente mais que le compteur Memory : Available Bytes diminue vers la limite NT Server minimum de 4 Mo, et si les disques qui contiennent les fichiers pagefile.sys sont occupés (indiqué par un accroissement de %Disk Time, Disk Bytes/sec et Average Disk Queue Length), le diagnostic est un goulot d’étranglement de la mémoire. Si Memory : Available Bytes ne diminue pas, ce pourrait bien ne pas être un goulot d’étranglement de la mémoire. Dans ce cas, rechercher une application qui effectue un grand nombre de lectures ou d’écritures sur disque (en s’assurant que les données ne sont pas dans la cache). Pour cela, utiliser Performance Monitor pour superviser les objets Physical Disk et Cache. Les compteurs de l’objet Cache peuvent indiquer si une petite cache diminue les performances.

· Memory : Available Bytes – Montre la quantité de mémoire physique mise à  la disposition des programmes. Ce chiffre est souvent bas parce que le Disk Cache Manager de NT utilise de la mémoire supplémentaire pour le caching, puis restitue la mémoire supplémentaire quand des demandes de mémoire surviennent. Toutefois, si cette valeur est en permanence inférieure à  4 Mo sur un serveur, il y a un paging excessif.

· Memory : Committed Bytes – Indique la quantité de mémoire virtuelle que le système a engagée soit pour la RAM physique à  des fins de stockage, soit pour l’espace pagefile. Si le nombre d’octets engagés est supérieur à  la quantité de mémoire physique, il faut probablement davantage de RAM.

· Memory : Pool Nonpaged Bytes – Indique la quantité de RAM dans la zone de mémoire système pool non pagée, dans laquelle les composants de l’OS se procurent de l’espace pour accomplir des tâches. Si la valeur Memory : Pool Nonpaged Bytes affiche une augmentation régulière n’entraînant pas une augmentation correspondante de l’activité du serveur, il se peut qu’un processus actif souffre d’une fuite de mémoire. Une fuite de mémoire se produit quand un bogue empêche un programme de libérer la mémoire dont il n’a plus besoin. A la longue, ce genre de fuite peut provoquer un crash du système parce que toute la mémoire disponible (c’est-à -dire la mémoire physique et l’espace pagefile) a été allouée.

· Paging File : %Usage – Montre le pourcentage de la taille de pagefile maximum que le système a utilisé. Si cette valeur est égale ou supérieure à  80 %, il faut songer à  augmenter la taille de pagefile.

 

On peut ordonner à  NT Server de régler la mémoire présente dans le système. Dans l’applet Control Panel Network, aller à  l’onglet Services et sélectionner Server. Quand on clique sur Properties, une boîte de dialogue présente quatre choix d’optimisation, comme l’illustre la figure 3 : Minimize Memory Used, Balance, Maximize Throughput for File Sharing et Maximize Throughput for Network Applications. On peut aussi régler un autre paramètre – sur l’onglet Performances de la boîte de dialogue System Properties – le sous-système de mémoire virtuelle (aussi appelé pagefile).






Figure 3 : voir SYSTEM Journal n°9 – juillet/août 2001

Si l’on a un environnement serveur multi-utilisateur, deux de ces stratégies d’optimisation de la mémoire sont particulièrement intéressantes : Maximize Throughput for File Sharing et Maximize Throughput for Network Applications. Quand on sélectionne Maximize Throughput for File Sharing, NT Server alloue la quantité maximale de mémoire pour le cache du système de fichiers. (Ce processus est appelé allocation du buffer disque dynamique.) Cette option est inressante si l’on utilise une machine NT Server comme serveur de fichiers. Le fait d’allouer toute la mémoire aux buffers du système de fichiers améliore généralement les performances des I/O disque et réseau. En offrant davantage de RAM pour les buffers disque, on augmente la probabilité de voir NT Server exécuter les requêtes d’I/O dans le cache RAM plus rapide, plutôt que dans le système de fichiers plus lent sur le disque physique.

Quand on sélectionne Maximize Throughput for Network Applications, NT Server alloue moins de mémoire pour le cache du système de fichiers, afin que les applications disposent de davantage de RAM. Cette option optimise la mémoire du serveur pour des applications distribuées qui effectuent le caching en mémoire. On peut régler les applications (Microsoft SQL Server, Exchange Server, par exemple) de façon à  ce qu’elles utilisent des quantités spécifiques de RAM pour les buffers pour la cache des I/O disque et de la base de données.

Cependant, si on alloue trop de mémoire à  chaque application dans un environnement multi-application, le paging excessif peut se transformer en thrashing. Il y a thrashing quand tous les processus actifs et les requêtes du cache du système de fichiers atteignent une telle ampleur qu’ils submergent les ressources mémoire du système. En présence de thrashing, les requêtes de RAM créent des défauts de page hard à  un rythme inquiétant, et l’OS passe le plus clair de son temps à  faire entrer et sortir des données de la mémoire virtuelle (c’est-à -dire à  permuter des pages) plutôt qu’à  exécuter les programmes. Le thrashing consume rapidement les ressources système et augmente généralement les temps de réponse. Si une application en service cesse de répondre mais que le voyant du lecteur de disque continue à  clignoter, l’ordinateur est probablement victime du thrashing.

Pour éliminer un goulot d’étranglement de la mémoire, on peut augmenter la taille du pagefile ou répartir le pagefile sur plusieurs disques ou contrôleurs. Un serveur NT peut contenir jusqu’à  16 pagefiles à  un moment donné et peut lire et écrire sur de multiples pagefiles simultanément. Si l’espace disque sur le volume d’amorçage (boot) est limité, on peut transféré le pagefile sur un autre volume pour améliorer les performances. Toutefois, pour préserver la récupérabilité, il vaut mieux placer un petit pagefile sur le volume d’amorçage (boot) et maintenir un fichier plus grand sur un volume différent offrant davantage de capacité. On pourrait également placer le pagefile sur un disque dur (ou sur plusieurs disques durs) qui ne contiennent pas les fichiers système NT ou sur une partition FAT non RAID dédiée.

Je préconise également de programmer les applications grandes utilisatrices de mémoire sur plusieurs machines. Grâce à  l’édition des registres, on peut permettre à  un serveur NT d’utiliser plus de 256 Ko de cache niveau 2. Démarrer regedit.exe, aller à  la sous-clé (subkey) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management, et double-cliquer sur SecondLevelDataCache. Cliquer sur la base décimale et entrer la quantité de cache de niveau 2 que l’on possède (par exemple, 512 si l’on a 512 Ko). Puis, cliquer sur OK, fermer l’éditeur de registre et réinitialiser. Je conseille également de désactiver ou de désinstaller les services, pilotes de périphériques et protocoles de réseaux superflus.

Téléchargez cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010