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