Valor de memoria negativa de Powershell Get-Process

8

Estaba haciendo algunas verificaciones con el cmdlet Powershell Get-Process y obtuve algunos valores extraños sobre algunos procesos. Probé en un servidor con una instancia de SQL Server ejecutándose y consumiendo 3GB + RAM como informó Resource Monitor, y cuando ejecuté Get-Process, obtuve valores negativos para WorkingSet en el proceso del servidor SQL, otro proceso está consumiendo 2GB + de PrivateMemorySize y obtuve el mismo valor negativo en PM.

A continuación se muestran capturas de pantalla de los resultados.

Monitor de recursos El sistema operativo está en portugués, lo siento.

Potencia Shell:

ingrese la descripción de la imagen aquí Compruebe sqlservr y el último scvhost ...

Afortunadamente, mi script usa WMI (clase Win32_Process) para obtener la información de los procesos, y los valores son correctos y todo coincide.

¿Es un error? ¿Quizás con grandes valores? Estoy usando Powershell v3.

esserafael
fuente

Respuestas:

11

¿Es este un servidor x64? Si es así, es posible que esta publicación de blog explique su problema. Aparentemente tiene que ver con la forma en que el proceso get lee la memoria de los sistemas x64:

La razón por la que el cartel estaba viendo números negativos es bastante simple: la propiedad WS tiene un alias de WorkingSet, pero WorkingSet es un valor de 32 bits. En el caso del póster, el tamaño del conjunto de trabajo desbordó el valor de 32 bits, lo que resultó en la visualización de un número negativo.

La solución según el blog es, en última instancia, imponer el formato del resultado de la consulta:

$process = “*SQL"*” GPS $process | ft name, workingset64 –auto

Kate
fuente
Gracias, sospeché que tenía algo con tamaños de valores, etc. Además, solo puedo obtener los resultados correctos cuando ejecuto el comando localmente en el servidor, si ejecuto remotamente con el parámetro -ComputerName, obtengo los mismos resultados negativos. Correr con PSSession funciona bien.
esserafael
0

Seleccionar WorkingSet64 en lugar de WorkingSet me sirvió sin formatear.

Jamie
fuente