svchost.exe -k netsvcs ocupando 1 GB de memória

8

Eu notei que o meu servidor de produção "svchost.exe -k netsvcs" está ocupando > 1 GB de memória RAM, de forma constante, o que acho um pouco excessivo.

Isto é o que o tasklist / svc me dará para este processo:

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

Eu queria saber qual poderia ser o processo listado que é responsável por esse vazamento de memória e como corrigi-lo. Alguém já teve esse mesmo comportamento no passado?

O servidor está executando o Windows Server 2008 R2 (Build 7601: Service Pack 1) e sua principal função é executar os trabalhadores do processador de aplicativos internos.

    
por agentsvr 03.04.2014 / 14:49

3 respostas

1

A pergunta é, é um vazamento? Você está dizendo que o uso da memória é "estável".

Vazamento = o uso de memória aumenta com o tempo, nunca diminuindo, então você precisa recarregar o servidor de vez em quando.

Se o taks ficar em ~ 1 GB por muito tempo (digamos, duas semanas), a situação é perfeitamente normal. O software moderno é feito para usar a memória livre sempre que necessário, e eu conheço alguns programas que simplesmente pegam o que há para economizar tempo na alocação de memória.

Se isso não impedir a operação do sistema, não toque nele.

    
por 12.06.2015 / 08:24
1

A alocação de memória é muito cara nos ciclos da CPU em comparação à reutilização da memória alocada existente. Muitas vezes, quando um programa é iniciado, até que ele termine sua função, ele não "soltará" essa memória.

Por exemplo, o Firefox mantém a memória por algum tempo. Se você deixar seu computador ligado por uma semana com o Firefox aberto, você notará que ele aumentará constantemente no tamanho da memória. Depois do YouTubing, do Google Play Musicing e da navegação, o meu atinge de 2 a 4 GB na memória - o que diminui para 300 MB depois que eu reinicio o processo. Isso é devido a seus recursos de armazenamento em cache e esse comportamento é por design.

Eu tenderia a acreditar que o processo SVCHost está fazendo exatamente como deveria. Quantos serviços o seu servidor está executando? 1GB Não parece preocupante - embora isso dependa de quais serviços você está executando.

    
por 19.06.2015 / 17:11
1

Como próximo passo, se você quiser investigar mais, eu instalaria o processo explorer (procexp.exe), que você pode encontrá-lo no site da Microsoft. Isso lhe dará quais serviços usam esse processo (veja a captura de tela do procexp), você pode então parar / iniciar serviços e ver se um determinado serviço está associado à liberação / aquisição de uma grande alocação de memória. Ele também dirá se está configurado como Working ou Private (= principalmente heap) na memória alocada. Se estiver ligado a um serviço específico, você terá um caminho mais claro para pesquisar mais.

Escusado será dizer que você precisaria fazer este teste em uma janela de interrupção / manutenção acordada ou reproduzir em um servidor de teste, pois você estará interrompendo as operações normais. Reinicie e verifique a lista de serviços de volta ao seu conjunto normal de execução após a conclusão do teste.

Captura de tela:

    
por 24.06.2015 / 10:00