{"id":161,"date":"2008-05-27T07:56:00","date_gmt":"2008-05-27T07:56:00","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=161"},"modified":"2008-05-27T07:56:00","modified_gmt":"2008-05-27T07:56:00","slug":"paket-sun-jvmstat-wie-man-selbst-ein-jps-schreibt","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2008\/05\/paket-sun-jvmstat-wie-man-selbst-ein-jps-schreibt\/","title":{"rendered":"Paket sun.jvmstat: Wie man selbst ein jps schreibt"},"content":{"rendered":"<p><a href=\"http:\/\/java.sun.com\/j2se\/1.5.0\/docs\/tooldocs\/share\/jps.html\">jps (Java Virtual Machine Process Status Tool)<\/a> ist ein Utility, welches neu bei Java 5 ist. Es zeigt die aktuellen laufenden Java VM-Instanzen an.<\/p>\n<p><\/p>\n<pre>$ jps <br \/>2256 <br \/>2960 Jps<br \/><br \/>$ jps -mlvV <br \/>1692 sun.tools.jps.Jps -mlvV -Dapplication.home=C:\\Programme\\Java\\jdk1.6.0 -Xms8m <br \/>2256  -Xbootclasspath\/a:C:\\PROGRA~1\\Java\\JRE16~1.0\\lib\\deploy.jar;C:\\PROGRA~1\\Java\\JRE16~1.0\\lib\\plugin.jar -Xmx96m ...<\/pre>\n<p><\/p>\n<p>Um ein eigenes <em>jps<\/em> zu schreiben ist, ist das Java-Archiv <em>tools.jar<\/em> aus dem <em>lib<\/em>-Verzeichnis des JDK im Klassenpfad n&#246;tig. Dort gibt es das zentrale (interne!) Paket <a href=\"http:\/\/www.openjdk.org\/groups\/serviceability\/jvmstat\/index.html\">sun.jvmstat<\/a>.<\/p>\n<p><\/p>\n<pre class=\"prettyprint\">import java.util.Set;<br \/>import sun.jvmstat.monitor.*;<br \/><br \/>public class T<br \/>{<br \/> @SuppressWarnings(&quot;unchecked&quot;)<br \/> public static void main( String[] args ) throws Exception<br \/> {<br \/>  MonitoredHost monitoredhost = MonitoredHost.getMonitoredHost( &quot;\/\/localhost&quot; );<br \/>  for ( int id : (Set&lt;Integer&gt;) monitoredhost.activeVms() ) {<br \/>   VmIdentifier vmidentifier = new VmIdentifier( &quot;&quot; + id );<br \/>   MonitoredVm monitoredvm = monitoredhost.getMonitoredVm( vmidentifier, 0 );<br \/>   System.out.printf( &quot;%d %s %s %s%n&quot;, id,<br \/>   MonitoredVmUtil.mainClass( monitoredvm, true ),<br \/>   MonitoredVmUtil.jvmArgs( monitoredvm ),<br \/>   MonitoredVmUtil.mainArgs( monitoredvm ) );<br \/>  }<br \/> }<br \/>}<\/pre>\n<\/p>\n<p>Die Ausgabe ist<\/p>\n<pre>2984  -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -XX:MaxPermSize=256M null <br \/>360 T -Dfile.encoding=Cp1252 null <br \/>2256  -Xbootclasspath\/a:C:\\PROGRA~1\\Java\\JRE16~1.0\\lib\\deploy.jar;C:\\PROGRA~1\\Java\\JRE16~1.0\\lib\\plugin.jar -Xmx96m ...<\/pre>\n<p><\/p>\n<p>N&#252;tzlich kann das ganze sein, um etwa herauszufinden, ob schon ein Exemplar des aktuellen Programms l&#228;uft. Denn das zweite Programm findet &#252;ber mainClass() zweimal die gleiche Klasse.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>jps (Java Virtual Machine Process Status Tool) ist ein Utility, welches neu bei Java 5 ist. Es zeigt die aktuellen laufenden Java VM-Instanzen an. $ jps 2256 2960 Jps$ jps -mlvV 1692 sun.tools.jps.Jps -mlvV -Dapplication.home=C:\\Programme\\Java\\jdk1.6.0 -Xms8m 2256 -Xbootclasspath\/a:C:\\PROGRA~1\\Java\\JRE16~1.0\\lib\\deploy.jar;C:\\PROGRA~1\\Java\\JRE16~1.0\\lib\\plugin.jar -Xmx96m &#8230; Um ein eigenes jps zu schreiben ist, ist das Java-Archiv tools.jar aus dem lib-Verzeichnis des [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[1],"tags":[],"class_list":["post-161","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=161"}],"version-history":[{"count":0,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/161\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}