查看java進程
Ⅰ 在java中如何獲得當前系統的進程信息
1、在Windows的命令行 tasklist 可以獲得進程列表
你先CMD, 再執行tasklist 可以看到類似任務管理器里的進程信息
2、JAVA要調用CMD命令, 用 Process process = Runtime.getRuntime().exec(command);
例如:查找某進程
Process proc = Runtime.getRuntime().exec("tasklist /FI \"IMAGENAME eq " + processName + "\"");
bufferedReader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = null;
while ((line = bufferedReader.readLine()) != null) {
if (line.contains("QQ.exe")) {
System.out.printlns("找到了");
}
}
Ⅱ 如何查看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為實際內存,上例實現按內存排序,由大到小
Ⅲ 如何查看unix伺服器java進程數量
可以使用ps命令。它能顯示當前運行中進程的相關信息,包括進程的PID。Linux和UNIX都支持ps命令,顯示所有運行中進程的相關信息。
ps命令能提供一份當前進程的快照。如果你想狀態可以自動刷新,可以使用top命令。
Ⅳ 如何在任務管理器中找出相關Java進程
將任務管理器里的進程調出來的方法如下:
1.打開任務管理器,出現如圖所示的症狀
2.將滑鼠放置任務管理器外框空白區域雙擊
3.進程選項就出來了
Ⅳ 如何查看java進程及服務
滑鼠放在電腦桌面底部右擊,選擇任務管理器,就能看到你想看的了
Ⅵ java查看進程
/**
* 查詢正在運行的系統進程信息
*
* @param processName
* //eclipse.exe
*/
public static String findProcessInfo(String processName) {
BufferedReader bufferedReader = null;
String isF = null;
try {
Process proc = Runtime.getRuntime().exec("tasklist");
bufferedReader = new BufferedReader(new InputStreamReader(proc.getInputStream(), "GB2312"));
String line = null;
while ((line = bufferedReader.readLine()) != null) {
System.err.println(line + " ");
if (line.contains(processName)) {
isF = line;
break;
}
}
proc.getOutputStream().close();
proc.getInputStream().close();
proc.destroy();
proc = null;
} catch (Exception ex) {
ex.printStackTrace();
}
if (bufferedReader != null) {
try {
bufferedReader.close();
bufferedReader = null;
} catch (Exception ex) {
}
}
return isF;
}
其實就是java調用cmd的命令行實現,這種功能可以應用到很多方面,就看你的熟悉的程度了。
Ⅶ 查看進程狀態需打開的窗口
摘要 查看所有網路連接信息
Ⅷ 如何用linux命令查詢java進程
使用ps命令就可以了,格式如下:
ps -A | grep java
解釋一下這個命令的意思,ps 是查看系統當前進程的命令,參數 -A(注意,是大寫,linux中是區分大小寫的)是顯示所有程序, | 這個是管道符,用來把前面的命令結果交給後面做篩選的,grep java就是通過grep篩選命令篩選出包含java的程序。
Ⅸ 如何查看一個java進程有多少個線程在工作
理論上來說,如果你全用threadgroup來跑線程的話,有個叫enumerate的方法可以得到【該threadgroup下】所有active的(也就是你說的在工作的)線程以及子線程,但程序裡面不一定是把線程放threadgroup裡面的,有可能有人自己new一個出來run或者別的,所以不能完全依靠這個辦法。我目前想到的辦法,貌似得弄個全局的counter,開個守護線程,讓這個線程去數監控所有線程的狀態,依照線程是否Active去加減這個counter。
還有個懶點的,你看windows的taskmanager(假設你在win平台上的話),裡面有一個column叫做thread
count的,我沒試過到底准不準,不過這個最省事了,右鍵點出來一看就知道了。