2009-10-05 92 views
45

मैं यह पता लगाने की कोशिश कर रहा हूं कि चल रहे जावा प्रक्रिया के भीतर से JVM स्टार्टअप गुण निर्धारित करने का कोई तरीका है या नहीं। विशेष रूप से मैं यह पता लगाने की कोशिश कर रहा हूं कि -एक्सएमएक्स (अधिकतम ढेर आकार) और -XX जैसे पैरामीटर कहां से हैं: MaxPermSize संग्रहीत हैं। मैं सूर्य के 1.6 जेवीएम चला रहा हूँ।जावा जेवीएम स्टार्टअप पैरामीटर पढ़ें (उदाहरण के लिए -एक्सएमएक्स)

यदि आप सोच रहे हैं कि मैं ऐसा क्यों करना चाहता हूं, तो मेरे पास कई JVM webservers हैं जो सही तरीके से कॉन्फ़िगर किया जा सकता है या नहीं और मैं इसे स्टार्टअप कोड चेक में जोड़ना चाहता हूं। जावा कोड के टुकड़े में जांचना मेरे लिए बहुत आसान है जो सभी जेवीएम स्टार्टअप फाइलों को मैन्युअल रूप से ढूंढने और जांचने के बजाय हर जगह तैनात किया जाता है। अभी बेहतर या बदतर के लिए जेवीएम कॉन्फ़िगरेशन फ़ाइलें हमारी निर्माण प्रक्रिया का हिस्सा नहीं हैं या स्रोत नियंत्रण में चेक नहीं हैं।

उत्तर

52

प्रयास करें:

import java.lang.management.ManagementFactory; 
import java.lang.management.RuntimeMXBean; 

import java.util.List; 

public void runtimeParameters() { 
    RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean(); 
    List<String> aList = bean.getInputArguments(); 

    for (int i = 0; i < aList.size(); i++) { 
    System.out.println(aList.get(i)); 
    } 
} 

बस इतना ही JVM मानकों को दिखाना चाहिए।

नोट: हमारे पास वीसीएस में JVM पैरामीटर नहीं है, लेकिन डेटाबेस में, प्रोडक्शंस में हमारे अपने लॉन्चर्स द्वारा पढ़ा गया है। इस तरह, हम JVM पैरामीटर फ़ाइल सेटिंग्स को पुन: नियोजित किए बिना, उन मानों को दूरस्थ रूप से बदल सकते हैं।


आप को Java Application Launcher लिंक सहित, ("Dustin's Software Development Cogitations and Speculations" से) विभिन्न JVM tools to use in this article का एक अच्छा sumary मिलेगा:

इस तकनीक को प्लेटफार्म उपलब्ध MXBeans का लाभ लेता है के बाद से J2SE 5 (कस्टम MXBeans समर्थन Java SE 6 में जोड़ा गया)। जब सूर्य की JVM का उपयोग कर उपलब्ध JVM मापदंडों के बारे में जानकारी की

दो उपयोगी स्रोत हैं:

इन संसाधनों की सूची के

दोनों और नहीं के लिए सुझाया गया के लिए आरामदायक निर्माता डबल X तर्कों (-XX) कि उपलब्ध हैं के कुछ/सब का वर्णन।

+0

वर्क्स एक आकर्षण की तरह है! मैं स्पष्ट रूप से java.lang.management के साथ-साथ मुझे नहीं जानता। –

+0

क्या यह जावा 1.4 है? –

9

जावा 7 के साथ या बाद में इसे जितना आसान

java -XshowSettings:all

संबंधित मुद्दे