Pregunta

Creo que he aumentado mi tamaño de la pila 1 Gb de NetBeans ya he cambiado la configuración para tener este aspecto:

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

Después de Recomencé NetBeans, puedo estar seguro de que se le da mi aplicación 1 GB ahora?

¿Hay una manera de verificar esto?

¿Fue útil?

Solución

Utilice este código:

// 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(); 

Fue útil para mí saberlo.

Otros consejos

Puede utilizar jconsole (de serie en la mayoría de los JDK) para comprobar los tamaños de área de cualquier proceso de Java.

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));
    }
}

Una con jvisualvm de Sun Java 6 JDK. banderas de inicio se enumeran a continuación.

Puede utilizar la herramienta: Eclipse Memory Analyzer Tool http://www.eclipse.org/mat/ .

Es muy útil.

La cosa favorita para cuando jvisualvm es excesiva o si necesita cli-solamente: 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

Para revisar sus Tamaño de pila de tiempo de CPU y el uso de herramientas JProfiler aplicación java que tendrán acceso a la JVM y mostrar todos montón y la asignación de tiempo de CPU

enchufe disponible para Eclipse y Idea intellej IDE

Enlace de descarga JProfiler

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top