tant - Savoir quel processus java.exe tuer sur une machine Windows




transformer un exe en service windows 7 (8)

Avez-vous essayé d'utiliser Process Explorer de SysInternals? Cela donne une bien meilleure idée de ce qui se passe dans le processus. Disponible gratuitement en ligne ici: http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

Lorsqu'une application Java commence à mal se comporter sur une machine Windows, vous voulez être en mesure de tuer le processus dans le gestionnaire de tâches si vous ne pouvez pas quitter l'application normalement. La plupart du temps, il y a plus d'une application basée sur Java qui s'exécute sur ma machine. Existe-t-il un meilleur moyen que de tuer au hasard les processus de java.exe dans l'espoir que vous atteindrez l'application correcte finalement?

EDIT: Merci à toutes les personnes qui m'ont indiqué l'Explorateur de Processus de Sysinternal - Exactement ce que je cherche!


Je suggère de télécharger Process Explorer à partir de Sysinternals et de regarder les différents processus de java.exe de plus près, de cette façon vous pouvez avoir une meilleure idée de laquelle tuer.

http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

C'est très intuitif et vous pouvez trouver les processus de java.exe et faites un clic droit et goto leurs propriétés, à partir de là vous pouvez voir leur ligne de commande, temps de création, etc. qui peut vous aider à trouver le processus que vous voulez tuer.

J'espère que cela aide.


Plutôt que d'utiliser un outil tiers, vous pouvez également faire une bonne estimation en examinant toutes les colonnes du gestionnaire de tâches si vous connaissez à peu près les différents processus Java sur votre système. Dans l'onglet Processus, utilisez Affichage-> Sélectionner les colonnes et ajoutez le PID, l'heure du processeur, la taille de la machine virtuelle et le nombre de threads. Savoir à peu près ce que le processus fait devrait aider à le réduire.

Par exemple, dans une application client-serveur, le serveur utilisera probablement plus de mémoire, aura plus de threads et aura utilisé plus de temps CPU car il a fonctionné plus longtemps. Si vous tuez un processus parce qu'il est bloqué, il pourrait simplement utiliser plus de CPU en ce moment.

La mémoire de tas java MAX est généralement directement reflétée dans la taille de la VM. Donc, si vous utilisez des drapeaux -Xmx, le processus avec le paramètre le plus grand aura une plus grande taille de VM.


Si l'application ne répond pas du tout, Process Explorer est une bonne option.

Si c'est en quelque sorte répondre, mais pas en train de mourir, parfois en affichant le gestionnaire de tâches, puis en déplaçant une autre boîte de dialogue sur le processus java, vous obtiendrez un indice. Le processus Java qui prend des cycles de cpu à redessiner est celui que vous recherchez.


Si vous utilisez Java 6, essayez jvisualvm à partir du répertoire bin JDK.


Télécharger l'explorateur de processus de Sysinternal . C'est un gestionnaire de tâches beaucoup plus puissant que le propre gestionnaire de Windows.

Une de ses caractéristiques est que vous pouvez voir toutes les ressources que chaque processus utilise (comme les clés de registre, les répertoires de disque dur, les canaux nommés, etc). Ainsi, parcourir les ressources que contient chaque processus java.exe peut vous aider à déterminer celui que vous voulez tuer. Je découvre habituellement en recherchant celui qui utilise un certain répertoire de dossier de notation.


Vous pouvez essayer d'ouvrir le Gestionnaire des tâches de Windows en accédant à l'onglet Applications, en cliquant avec le bouton droit de la souris sur l'application, puis en sélectionnant "Aller au processus". Cela mettra automatiquement en évidence le processus approprié dans l'onglet Processus.


Si vous ne pouvez pas exécuter une application GUI comme ProcessExplorer et que vous recherchez les arguments "Command Line" des processus, vous pouvez utiliser "wmic" via la ligne de commande. Par exemple:

wmic PROCESS get Processid,Caption,Commandline

Si vous voulez rechercher un processus spécifique, vous pouvez le faire:

wmic PROCESS where "name like '%java%'" get Processid,Caption,Commandline

La sortie de ceci vous montrera tous les arguments de la ligne de commande des processus comme "java".







windows