Comment puis-je tuer à distance le processus sur le serveur? Windows, Lorsque le serveur a dépassé la limite de mémoire?

Le contexte

J'utilise et gère * Serveur Windows au travail. Il est utilisé pour l'informatique générale à 5 utilisateurs simultanément à travers RDP. Le serveur a 128 Go de RAM, qui suffit à travailler que nous faisons. Cependant, de temps à autre, l'un des processus mange presque toute la mémoire en raison d'une erreur dans le script utilisateur (Par exemple, une initialisation erronée de la matrice, l'oubli de la suppression de la variable).

Quand cela se produit, toutes les connexions RDP Cassé et le serveur devient ingérable jusqu'à ce que l'utilisation de la mémoire soit réduite ou jusqu'à ce que le serveur soit redémarré. Ce dernier est une mesure extrême, car cela conduit à une perte de données pour tous les utilisateurs. Je ne sais pas quel est le seuil de mémoire exact avant cette "défaillance", mais c'est quelque part dans la région 97%.

Ce que j'ai essayé

Équipes qui fonctionnent

Pendant que le serveur est sous charge lourde, je peux toujours obtenir une réponse à l'aide des commandes suivantes


ping

: Normalement travaillant


tasklist /s servername

: Renvoie les données, mais très lentement. Cela me permet de trouver une offensive PID et identifiant de session.


Enter-PSSession servername

: Travaille, mais commence une session seulement après une très longue période.

Équipes qui ne fonctionnent pas

J'ai essayé les commandes ci-dessous pour tuer le processus de violation et restaurer le contrôle. Malheureusement, aucun d'entre eux n'a travaillé pour 10-15 minutes.


taskkill /s servername /pid pid /f

: ne fait rien et s'arrête à travers 10-15 minutes avec un message d'erreur interne


pskill \\servername pid

: ne fait rien, arrêté manuellement


logoff sessionID /server:servername

: ne fait rien, arrêté manuellement

Question

Comment puis-je changer rapidement le processus de consommation de la mémoire lorsque le serveur prend ~ 97% Sa mémoire et ne répond pas aux commandes ci-dessus?

* Le service informatique corporatif gère le serveur dans son ensemble, mais je gère les mises à jour périodiques, la gestion de l'utilisateur et l'installation de logiciels.
Invité:

Giselle

Confirmation de:

Il ressemble à une fuite de mémoire qui doit être diagnostiquée / Éliminer en mettant à jour les logiciels de problèmes.

Pour l'instant, vous pouvez essayer quelques éléments pour le garder sous contrôle.

Si vous avez déterminé la source du problème, vous pouvez configurer la tâche planifiée exécutée en tant que système à compléter. / Redémarrer le processus de problème / Service à intervalles / Parfois, cela aura le plus petit nombre de violations.

Lorsqu'il est récemment confronté à une situation similaire avec une pénurie de mémoire causée par notre produit AntiVirus, J'ai également remarqué que les outils de contrôle à distance ne peuvent pas se connecter. Lorsque vous travaillez de tels produits comme SCCM ou SCOM, Vous pouvez toujours passer des commandes via ces agents.

Une autre option qui a fonctionné était d'utiliser la méthode PowerShell Get-WmiObject Terminate () dans la classe Win32_Process Détruire le processus distant.

Il y a un excellent article démontrant comment le faire avec WMI.
https://4sysops.com/archives/q ... -wmi/
.

Pour répondre aux questions, connectez-vous ou registre