///
/*查看JVM内存大小*/
import java.io.*;
import java.lang.Runtime;
public class memory {
public static void main(String args[]) {
System.out.println("usage:");
memory m=new memory();
long t=m.showUsage();
System.out.println("Total:"+ t + " Bytes");
long fr=m.freeMemory();
//System.gc();
System.out.println("Free:"+fr + " Bytes");
long rem=t-fr;
System.out.println("Occupied Space :"+rem + " Bytes");
}
public long showUsage() {
long l=Runtime.getRuntime().totalMemory();
return(l);
}
public long freeMemory() {
long f=Runtime.getRuntime().freeMemory();
return(f);
}
}
///
2、改变JVM内存大小的方法
java -Xms100m -Xmx250 memory
3. 在Eclipse中查看JVM内存
a.在eclipse根目录下建立一个文件,文件名options,不要加后缀直接保存,文件内容org.eclipse.ui/perf/showHeapStatus=true
b.修改eclipse目录下的eclipse.ini文件,在文件起始部分添加如下内容:
-debug
options
-vm
javaw.exe
重新启动eclipse,就可以看到下方状态条多了JVM的信息
4、改变JVM内存大小的方法
java -Xms100m -Xmx250 memory
jvm独立于平台存在,在不同的平台下可用内存大小也不一样,可通过下列命令来查看jvm在具体平台下可用的最大内存值:
java -Xmx*M -version(其中*为最大内存值)
若出现如下显示则说明堆内存可用:
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Server VM (build 1.5.0_06-b05, mixed mode)
若是显示如下则堆内存超出系统限制:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
默认情况下windows下最大可用堆内存值为1800M,linux下为2600M。
| |