2010-01-06 14 views
40

मुझे लगता है मैं NetBeans में 1 जीबी तक मेरी ढेर आकार में वृद्धि हुई है के बाद से मैं config इस तरह देखने के लिए बदल दिया है:वर्तमान हेप आकार को देखने के लिए कि कोई एप्लिकेशन उपयोग कर रहा है?

netbeans_default_options="-J-Xmx1g ...... 

बाद मैं NetBeans को पुनः आरंभ, मुझे यकीन है कि मेरे ऐप 1 जीबी अब दिया जाता है हो सकता है?

इस सत्यापित करने के लिए कोई तरीका है?

उत्तर

128

इस कोड का उपयोग करें:

// Get current size of heap in bytes 
long heapSize = Runtime.getRuntime().totalMemory(); 

// Get maximum size of heap in bytes. The heap cannot grow beyond this size.// Any attempt will result in an OutOfMemoryException. 
long heapMaxSize = Runtime.getRuntime().maxMemory(); 

// Get amount of free memory within the heap in bytes. This size will increase // after garbage collection and decrease as new objects are created. 
long heapFreeSize = Runtime.getRuntime().freeMemory(); 

यह पता करने के लिए मेरे लिए उपयोगी था।

+0

यदि आप इस रणनीति का उपयोग करते हैं तो आपको अपने ऐप (नेटबीन) को फिर से कंपाइल करना होगा। – vkraemer

+0

दस्तावेज़ के अनुसार: https://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#freeMemory()। JVM में रिटर्न स्मृति ऊपर उल्लेख जरूरी नहीं कि ढेर मेमोरी –

+0

ध्यान दें कि ढेर आकार की नहीं सब कुछ अपने साथ निर्दिष्ट तरीके '-J-Xmx 1g' अपने आवेदन की वस्तुओं के लिए जरूरी उपलब्ध है। वीएम, विशेष रूप से कचरा कलेक्टर, उस स्मृति में से कुछ का उपयोग कर सकता है। [यहां है] (https://plumbr.io/blog/memory-leaks/less-memory-than-xmx) विषय पर थोड़ा और। –

8

आप किसी भी जावा प्रक्रिया के ढेर आकारों को जांचने के लिए jconsole (अधिकांश जेडीके के साथ मानक) का उपयोग कर सकते हैं।

+0

यह स्मृति उपयोग, धागे और वर्गों के वास्तविक समय चार्ट भी शामिल है। बहुत उपयोगी। – vkraemer

2

सन जावा 6 JDK से jvisualvm साथ संलग्न करें। स्टार्टअप झंडे सूचीबद्ध हैं।

+0

visualvm ... कोई j – vkraemer

+2

बाइनरी का नाम jvisualvm (.exe) रखा गया है। कोई विचार क्यों नहीं। –

0

अपने जावा आवेदन ढेर आकार और CPU समय का उपयोग JProfiler उपकरण है कि अपने JVM पहुँच सकते हैं और ग्रहण और intellej आइडिया आईडीई

डाउनलोड के लिए लिंक के लिए प्रदर्शित सब ढेर और CPU समय आवंटन

उपलब्ध में प्लग होगा जाँच के लिए Jprofiler

http://www.ej-technologies.com/download/jprofiler/files

2

आप उपकरण का उपयोग कर सकते हैं: ग्रहण मेमोरी विश्लेषक उपकरण http://www.eclipse.org/mat/

यह बहुत उपयोगी है। जब jvisualvm overkill है या आप केवल-CLI की जरूरत के लिए

0
public class CheckHeapSize { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     long heapSize = Runtime.getRuntime().totalMemory(); 

     // Get maximum size of heap in bytes. The heap cannot grow beyond this size.// Any attempt will result in an OutOfMemoryException. 
     long heapMaxSize = Runtime.getRuntime().maxMemory(); 

     // Get amount of free memory within the heap in bytes. This size will increase // after garbage collection and decrease as new objects are created. 
     long heapFreeSize = Runtime.getRuntime().freeMemory(); 

     System.out.println("heapsize"+formatSize(heapSize)); 
     System.out.println("heapmaxsize"+formatSize(heapMaxSize)); 
     System.out.println("heapFreesize"+formatSize(heapFreeSize)); 

    } 
    public static String formatSize(long v) { 
     if (v < 1024) return v + " B"; 
     int z = (63 - Long.numberOfLeadingZeros(v))/10; 
     return String.format("%.1f %sB", (double)v/(1L << (z*10)), " KMGTPE".charAt(z)); 
    } 
} 
+0

मानव पठनीय प्रारूप –

+0

1 किलोबाइट (1 केबी) = 1000 बाइट्स में स्मृति के हेपसाइज प्राप्त करने के लिए इस कोड का उपयोग करें। 1 किबिबेट (1 कीबी) = 1024 बाइट्स। – bcody

0

व्यक्तिगत पसंदीदा: jvmtop

JvmTop 0.8.0 alpha amd64 8 cpus, Linux 2.6.32-27, load avg 0.12 
https://github.com/patric-r/jvmtop 

PID MAIN-CLASS  HPCUR HPMAX NHCUR NHMAX CPU  GC VM USERNAME #T DL 
3370 rapperSimpleApp 165m 455m 109m 176m 0.12% 0.00% S6U37 web  21 
11272 ver.resin.Resin [ERROR: Could not attach to VM] 
27338 WatchdogManager 11m 28m 23m 130m 0.00% 0.00% S6U37 web  31 
19187 m.jvmtop.JvmTop 20m 3544m 13m 130m 0.93% 0.47% S6U37 web  20 
16733 artup.Bootstrap 159m 455m 166m 304m 0.12% 0.00% S6U37 web  46 
संबंधित मुद्दे

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