मेनू

जावा मेमोरी उपयोग प्राप्त करें

विषयसूची

जावा यादउपयोग संबंधी डेटा प्राप्त करें Runtime.getRuntime().totalMemory, freeMemory

जावा यह फ़ंक्शन वर्चुअल मशीन की मेमोरी के बारे में जानकारी देता है, जिसमें "कुल", "उपयोग की गई" और "अधिकतम उपलब्ध" शामिल हैं।
प्रत्येक आइटम का स्पष्टीकरण इस प्रकार है:

  • कुल・・・रनटाइम.गेटरनटाइम().टोटलमेमोरी()यह जावा वर्चुअल मशीन को आवंटित मेमोरी की मात्रा है।
  • उपयोग की मात्रा・・・रनटाइम.गेटरनटाइम().टोटलमेमोरी() - Runtime.getRuntime().freeMemory()ये बन गया,
    यह मेमोरी में वर्तमान में आवंटित ऑब्जेक्ट्स द्वारा उपयोग की गई मेमोरी है।
  • अधिकतम उपयोग योग्य・・・Runtime.getRuntime().maxMemory()यह जावा वर्चुअल मशीन द्वारा उपयोग की जाने वाली मेमोरी की अधिकतम मात्रा को दर्शाता है।
    जब मेमोरी का उपयोग कुल सीमा के करीब पहुंच जाता है और गार्बेज कलेक्शन मेमोरी को खाली नहीं कर पाता है, तो जावा वर्चुअल मशीन "अधिकतम उपलब्ध" मात्रा तक विस्तारित हो जाती है।

नमूना कार्यक्रम

/**
 * Java 仮想マシンのメモリ総容量、使用量、
 * 使用を試みる最大メモリ容量の情報を返します。
 * @return Java 仮想マシンのメモリ情報
 */
public static String getMemoryInfo() {
    DecimalFormat f1 = new DecimalFormat("#,###KB");
    DecimalFormat f2 = new DecimalFormat("##.#");
    long free = Runtime.getRuntime().freeMemory() / 1024;
    long total = Runtime.getRuntime().totalMemory() / 1024;
    long max = Runtime.getRuntime().maxMemory() / 1024;
    long used = total - free;
    double ratio = (used * 100 / (double)total);
    String info = 
    "Java メモリ情報 : 合計=" + f1.format(total) + "、" +
    "使用量=" + f1.format(used) + " (" + f2.format(ratio) + "%)、" +
    "使用可能最大="+f1.format(max);
    return info;
}


निष्पादन परिणाम 1

◆उदाहरण

public static void main(String[] args) { System.out.println(getMemoryInfo()); }

◆आउटपुट परिणाम

जावा मेमोरी संबंधी जानकारी: कुल = 1,984KB, उपयोग किया गया = 458KB (23.1%), अधिकतम उपलब्ध = 65,088KB

निष्पादन परिणाम 2

◆उदाहरण
जावा हीप साइज को बदलकर प्रोग्राम चलाने का प्रयास करें।
जावा कमांड विकल्पों का उपयोग करके जावा हीप आकार निर्दिष्ट किया जा सकता है।

जावा -Xms64m -Xmx512m मुख्य

-Xms प्रारंभिक हीप आकार
जावा वर्चुअल मशीन के लिए प्रारंभिक मेमोरी आवंटन निर्दिष्ट करता है। डिफ़ॉल्ट मान 2MB है।
-Xmx अधिकतम हीप आकार
जावा वर्चुअल मशीन को आवंटित की जाने वाली मेमोरी की अधिकतम मात्रा निर्दिष्ट करता है। डिफ़ॉल्ट मान 64MB है।

public static void main(String[] args) { System.out.println(getMemoryInfo()); }

◆आउटपुट परिणाम

जावा मेमोरी संबंधी जानकारी: कुल = 65,088KB, उपयोग किया गया = 524KB (0.8%), अधिकतम उपलब्ध = 520,256KB

"कुल रनटाइम.getRuntime().totalMemory()"-एक्सएमएसअधिकतम उपलब्ध मान Runtime.getRuntime().maxMemory() है।-एक्सएमएक्सयह लिंक [संबंधित पृष्ठ] पर ले जाता है।

  • URLをコピーしました!
विषयसूची