svchost.exe -k netsvcs occupant> 1 Go de mémoire


8

J'ai remarqué que mon serveur de production "svchost.exe -k netsvcs" occupe régulièrement> 1 Go de mémoire RAM, ce qui, je pense, est un peu excessif.

Voici ce que tasklist / svc me donnera pour ce processus:

                               Appinfo, CertPropSvc, gpsvc, IKEEXT,
                               iphlpsvc, LanmanServer, ProfSvc, Schedule,
                               SENS, SessionEnv, ShellHWDetection,
                               Winmgmt, wuauserv

Je me demandais quel pourrait être le processus répertorié responsable de cette fuite de mémoire et comment y remédier. Quelqu'un at-il eu ce même comportement dans le passé?

Le serveur exécute Windows Server 2008 R2 (Build 7601: Service Pack 1) et sa fonction principale est d'exécuter des travailleurs de processeur d'applications internes.


J'ai installé SP1, mais maintenant que vous en avez parlé ... support.microsoft.com/kb/977357 get-hotfix -id KB977357 get-hotfix: Impossible de trouver le correctif demandé sur l'ordinateur 'localhost'. Si j'ai SP1 installé, ne devrais-je pas avoir ce correctif installé?
agentsvr

1
Le Service Pack enroule le correctif avec lui, vous ne le trouverez donc pas répertorié.
Nathan C

4
D'ACCORD. Eh bien, je dirais que la prochaine étape consiste à savoir quel service exact consomme la mémoire, et la seule façon de le faire est de les répartir dans leurs propres processus svchost.exe un à la fois en utilisant SC Config Servicename Type= own. Voir serverfault.com/questions/12278/…
Ryan Ries

Êtes-vous sûr que le processus est le svchost.exe légitime?
Konrad Gajewski

Vous pouvez également simplement arrêter / tuer les services un par un et voir quand l'utilisation de mem baisse.
ssnobody

Réponses:


1

La question est, est-ce une fuite? Vous dites que l'utilisation de la mémoire est "régulière".

Fuite = l'utilisation de la mémoire augmente au fil du temps, sans jamais diminuer, vous devez donc recharger le serveur de temps en temps.

Si le taks reste à ~ 1 Go pendant longtemps (disons, deux semaines), la situation est parfaitement normale. Un logiciel moderne est conçu pour utiliser de la mémoire libre chaque fois que cela est nécessaire, et je connais quelques programmes qui captureront tout ce qui est juste pour gagner du temps sur l'allocation de mémoire.

Si cela n'entrave pas le fonctionnement du système, ne le touchez pas.


1

L'allocation de mémoire coûte très cher sur les cycles du processeur par rapport à la réutilisation de la mémoire allouée existante. Il arrive souvent qu'une fois qu'un programme démarre, jusqu'à ce qu'il ait terminé sa fonction, il ne "lâche pas" cette mémoire.

Par exemple, Firefox conserve la mémoire pendant un certain temps. Si vous laissez votre ordinateur allumé pendant une semaine avec Firefox ouvert, vous remarquerez qu'il augmentera constamment la taille de la mémoire. Après YouTubing, Google Play Music-ing et la navigation, le mien atteint 2-4 Go en mémoire - qui se réduit à 300 Mo après le redémarrage du processus. Cela est dû à ses fonctionnalités de mise en cache et ce comportement est voulu par la conception même du produit.

J'aurais tendance à croire que le processus SVCHost fait exactement ce qu'il devrait. Combien de services votre serveur exécute-t-il? 1 Go ne semble pas inquiétant, bien que cela dépende des services que vous utilisez.


1

À l'étape suivante, si vous souhaitez approfondir votre recherche, j'installerais l'explorateur de processus (procexp.exe) que vous pouvez trouver sur le site de Microsoft. Cela vous donnera quels services utilisent ce processus (voir capture d'écran de procexp), vous pouvez ensuite arrêter / démarrer des services et voir si un service particulier est associé à la libération / acquisition d'une grande allocation de mémoire. Il vous indiquera également s'il s'agit d'un ensemble de travail ou d'une mémoire allouée privée (= principalement un tas). S'il est lié à un service spécifique, vous aurez un chemin plus clair pour poursuivre vos recherches.

Il va sans dire que vous devrez effectuer ces tests dans une fenêtre de panne / maintenance convenue ou reproduire sur un serveur de test car vous interromprez les opérations normales. Le redémarrage et la liste de vérification des services sont de retour à votre jeu d’exécution normal une fois les tests terminés.

Capture d'écran: http://i.imgur.com/20Ij6Mi.png

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.