1 votes

L'utilisation de la mémoire non paginée par le processus EVEN (enregistreur/visualisateur d'événements) augmente jusqu'à épuisement.

J'ai un serveur avec un problème de mémoire non paginée. L'utilisation augmente lentement jusqu'à ce qu'elle soit épuisée et que le serveur cesse de servir des pages web car IIS ne peut pas obtenir suffisamment de mémoire non paginée.

Il s'agit d'un serveur Windows 2003 32bit.

Le gestionnaire des tâches ne montre aucune activité suspecte et tous les processus en cours consomment des quantités "normales" de mémoire NP et restent stables dans le temps.

La balise qui montre toute l'utilisation est 'Even' qui est pour l'Event Viewer selon la liste des balises. Aucun autre avertissement ou erreur n'apparaît dans les journaux d'événements, sauf lorsque la mémoire NP est épuisée et qu'IIS commence à se plaindre.

Le serveur utilise MSSQL, IIS et hMailserver, rien d'autre.

Quelqu'un a une idée ou a déjà vu cela ? Je saurais où aller s'il s'agissait d'un tag associé à un pilote comme une carte réseau ou autre, mais l'Event Viewer, je ne sais pas où aller avec ça !

Sortie Poolmon pour EVEN

Tag    Type   Allocs            Frees             Diff     Bytes       Per    Alloc
Even   NonP   65563201 ( 948)   64585254 ( 861)   980124   47049280 ( -2384)   48

Remerciements

0voto

Warren Blanchet Points 881

La première chose à vérifier est de s'assurer que max server memory (MB) est défini dans le serveur SQL. Il s'agit d'une option de serveur qui indique à SQL Server "voici toute la mémoire dont vous pouvez disposer". Par défaut, SQL Server utilisera toute la mémoire disponible pour des choses telles que les caches de données, ce qui peut être une mauvaise nouvelle dans un environnement partagé tel que le vôtre.

Dans votre instance SQL, ouvrez une nouvelle fenêtre de requête et tapez :

sp_configure 'show advanced options',1
GO
RECONFIGURE
GO
sp_configure 'max server memory (MB)'

Si la valeur de config_value est 0, cela signifie que le serveur SQL est autorisé à utiliser toute la mémoire qu'il souhaite. Dans ce cas, vous devriez le régler sur quelque chose de plus raisonnable pour votre environnement.

Vous ne mentionnez pas la quantité de mémoire dont dispose votre serveur, mais comme vous êtes dans un environnement 32 bits (et que vous ne précisez pas non plus quelle édition de Windows), je vais partir du principe que vous disposez de 4 Go. Vous voudrez peut-être limiter SQL à 1 Go pour permettre l'utilisation d'autres services d'application. Vous pouvez procéder comme suit :

sp_configure 'max server memory (MB)',1000
GO
RECONFIGURE
GO

Si vous utilisez Windows 2003 Enterprise et que vous disposez de plus de 4 Go de mémoire, vous pouvez bien entendu définir la mémoire maximale à un niveau supérieur.

Vous pouvez également envisager d'utiliser les extensions de fenêtrage d'adresses (AWE), qui peuvent vous donner un peu plus de marge de manœuvre. Vous trouverez des informations à ce sujet sur TechNet aquí .

0voto

David Points 471

Lorsque le problème se produit, ouvrez le Gestionnaire des tâches et ajoutez la commande Handles colonne. Effectuez un tri sur cette colonne et recherchez les valeurs qui semblent excessives. Il peut être utile d'obtenir une base de référence du serveur au démarrage et au fil du temps. Combien de temps s'écoule-t-il après le démarrage avant que le problème ne se manifeste ? Il y a de fortes chances que le processus ayant le nombre de handles le plus élevé ou le plus inhabituel soit le coupable, bien qu'il soit difficile de déterminer exactement pourquoi.

Dans mon cas, j'ai constaté que cela était dû à une désinstallation ratée de l'agent CommVault (sauvegarde) qui a laissé derrière elle un service non fonctionnel qui créait deux handles dans HKCU (registre) toutes les quelques secondes. Chaque handle ouvert consomme de la mémoire et a fini par mettre à genoux l'environnement Exchange d'une organisation entière.

Sysinternals handle.exe peut également être utile pour voir quels processus utilisent de nombreuses poignées et à quels objets ils sont attachés.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X