2010-03-29 8 views
0

J'ai récemment téléchargé et installé WebSphere Application Server 7.0 sur Windows 2003.machine virtuelle Java ID introuvable

que je voulais faire un jstat (JDK 1.6) pour sonder la machine virtuelle Java mais je continué à obtenir un message "not found".

Une idée de pourquoi cela se passe-t-il?

Nicholas

+0

Pouvez-vous partager la ligne de commande que vous utilisez et la sortie que vous obtenez? – Brabster

+0

Salut, je n'ai pas joué avec ce jstat. Je me demandais si jstat est pris en charge dans un IBM JDK ou est quelque chose qui est pris en charge uniquement dans une JVM Sun/Oracle – Manglu

Répondre

0

jstat nécessite une vmid de spécifier la machine virtuelle à attacher. En fournissez-vous un?

+0

oui je l'ai fait. en fait j'ai fait "tasklist" au PID (par exemple 2252) et puis j'ai eu cette commande: jstat -gcutil 2252 1000 cette commande devrait produire une sortie toutes les 1 seconde. Au lieu de cela, je reçois 2252 pas trouvé –

+0

@NicholasKey Avez-vous trouvé une solution à ce sujet? –

0

Si vous essayez de surveiller un processus appartenant à un utilisateur différent, vous pouvez obtenir des erreurs d'autorisation. Contournez-les en exécutant un serveur jstatd avec une stratégie personnalisée et permissive.

jstatd -J-Djava.security.policy=/home/root/.jstatd.all.policy 

.jstatd.all.policy:

grant codebase "file:/usr/java/latest/lib/tools.jar" { 
    permission java.security.AllPermission; 
}; 

Vous devrez fournir le chemin correct à votre propre tools.jar. Une fois que jstatd est opérationnel, vous devriez être capable d'exécuter votre commande jstat.

2

Il peut également être parce que ce drapeau est activé dans votre args JVM

-XX: + PerfDisableSharedMem

Soit vous pouvez le supprimer de vos arguments de notre désactiver ce drapeau comme

-XX : -PerfDisableSharedMem