Runtime.maxMemory(); //最大JVM内存(就是你配置给JVM的值)
Runtime.totalMemory();//JVM可支配的最大内专存值
Runtime.freeMemory();//剩余内存空间
另外给一个例子:属
Runtime run = Runtime.getRuntime();
long max = run.maxMemory();
long total = run.totalMemory();
long free = run.freeMemory();
long usable = max - total + free;
System.out.println("最大内存 = " + max);
System.out.println("已分配内存 = " + total);
System.out.println("已分配内存中的剩余空间 = " + free);
System.out.println("最大可用内存 = " + usable);
程序使用:java.lang.Runtime 包,不需要特别下载和导入
❷ 请问用Java代码,怎样测试一段程序占用了多少内存
/*计算某一段程序消耗的内存和时间*/
Runtime r = Runtime.getRuntime();
r.gc();//计算内存前先垃圾回收一次
long start = System.currentTimeMillis();//开始Time
long startMem = r.freeMemory(); // 开始Memory
GBSort(array,1,len);//!!!!!被测的程序!!!!!
long endMem =r.freeMemory(); // 末尾Memory
long end = System.currentTimeMillis();//末尾Time
//输出
System.out.println("TimeCost: "+String.valueOf(end - start)+"ms");
System.out.println("MemoryCost: "+String.valueOf((startMem- endMem))+"KB");
❸ 如何查看java进程大量占用内存
如何查看java进程大量占用内存
你好,方法如下:
可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
(1)top
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
$ top -u oracle
内容解释:
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
常用的命令:
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
(2)pmap
可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:
$ pmap -d 14596
(3)ps
如下例所示:
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' 其中rsz是是实际内存
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle | sort -nrk5
其中rsz为实际内存,上例实现按内存排序,由大到小
❹ java程序运行完成之后怎么看它所用的时间和内存
可以使用java监控工具来监测java程序的执行效率,下面介绍两种:
1 jconsole工具使回用
1)远程连接进程
2)连接成功后答可以观察概览、内存、线程、类、VM概要、MBean
3)可以查看不同区的内存使用情况
2 jvisualvm工具使用
1)远程连接进程
2)登录成功可以查看概述)监视)线程)抽样器。
3)监视:CPU、内存、类、线程
4)通过抽样器可以做内存镜像
另外,还有jps、jstack、jmap、jhat、jstat、hprof等各种工具
工具不在多,选择一款自己用起来最顺手的即可
❺ java怎么的当前程序占用的内存情况
hi:
虚拟机的内存情况查看,使用Runtime类进行。如下:
//虚拟机内存使用量查询
class RamRun implements Runnable{
回private Runtime runtime;
public void run(){
答try{
runtime=Runtime.getRuntime();
System.out.println("处理器的数目"+runtime.availableProcessors());
System.out.println("空闲内存量:"+runtime.freeMemory()/ 1024L/1024L + "M av");
System.out.println("使用的最大内存量:"+runtime.maxMemory()/ 1024L/1024L + "M av");
System.out.println("内存总量:"+runtime.totalMemory()/ 1024L/1024L + "M av");
}catch(Exception e){
e.printStackTrace();
}
}
}