"jcmd " जेवीएम निदान है टूल, जो स्थानीय मशीन पर दिए गए JVM के विरुद्ध डायग्नोस्टिक कमांड चलाने के लिए एक कमांड-लाइन टूल है। यह टूल Java 7 . के बाद से JDK इंस्टॉलेशन में शामिल किया गया है संस्करण, और इसे "%java_home%\bin\jcmd.exe द्वारा दर्शाया जा सकता है " प्रोग्राम फ़ाइल। अगर हमारे पास "%java_home%\bin . है "निर्देशिका" पर्यावरण चर "पथ" में शामिल है, हम "jcmd -h . चला सकते हैं "नीचे दिए गए सभी विकल्पों की पूरी सूची देखने के लिए कमांड करें
C:\Users\User>jcmd -h Usage: jcmd or: jcmd -l or: jcmd -h command must be a valid jcmd command for the selected jvm. Use the command "help" to see which commands are available. If the pid is 0, commands will be sent to all Java processes. The main class argument will be used to match (either partially or fully) the class used to start Java. If no options are given, lists Java processes (same as -l). PerfCounter.print display the counters exposed by this process -f read and execute commands from the file -l list JVM processes on the local machine -h this help
उदाहरण
public class JCmdToolTest { public static void main(String args[]) { Runtime runtime = Runtime.getRuntime(); System.out.println("Free memory: " + runtime.freeMemory()); System.out.println("Total memory: " + runtime.totalMemory()); try { Thread.sleep(5000); } catch(InterruptedException e) { } } }
आउटपुट
Free memory: 65454560 Total memory: 67108864
हम उपयोग कर सकते हैं "jcmd -l "स्थानीय मशीन पर सभी चल रहे JVMs को सूचीबद्ध करने के लिए कमांड करें, फिर PID . का उपयोग करें या कक्षा मुख्य JVM की पहचान करने के लिए आउटपुट से।
C:\Users\User>jcmd -l 6108 jdk.jcmd/sun.tools.jcmd.JCmd -l