Valeur de memory négative Powershell Get-Process

Je faisais des vérifications avec la cmdlet Powershell Get-Process et j'avais des valeurs bizarres sur certains process. J'ai testé sur un server avec une instance SQL Server en cours d'exécution et consommant 3 Go + RAM comme Resource Monitor a rapporté, et lors de l'exécution de Get-Process, j'ai obtenu des valeurs négatives pour WorkingSet sur le process du server SQL, un autre process consum 2 Go + de PrivateMemorySize et a obtenu le même valeur négative sur PM.

Voici les captures d'écran des résultats.

Moniteur de ressources Le operating system est en portugais, désolé.

Powershell:

entrez la description de l'image ici Vérifiez sqlservr et le dernier scvhost …

Heureusement, mon script utilise WMI (class Win32_Process) pour get les informations des process, et les valeurs sont correctes et tout correspond.

Est-ce un bug? Peut-être avec de grandes valeurs? J'utilise Powershell v3.

Est-ce un server x64? Si c'est le cas, il est possible que ce blog explique votre problème. Apparemment, il s'agit de la manière dont le process d'acquisition lit la memory des systèmes x64:

La raison pour laquelle l'affiche voyait des nombres négatifs est assez simple: la propriété WS est associée à WorkingSet, mais WorkingSet est une valeur de 32 bits. Dans le cas de l'affiche, la taille du jeu de travail a débordé la valeur de 32 bits, ce qui a donné lieu à un nombre négatif.

La solution selon le blog est finalement pour imposer le formatting du résultat de la requête:

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