1. 如何查看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為實際內存,上例實現按內存排序,由大到小
2. 如何用linux命令查詢java進程
|使用ps命令就可以了,格式如下:
ps -A | grep java
解釋一下這個命令的意思,ps 是查看系統當前進內程的命容令,參數 -A(注意,是大寫,linux中是區分大小寫的)是顯示所有程序, | 這個是管道符,用來把前面的命令結果交給後面做篩選的,grep java就是通過grep篩選命令篩選出包含java的程序。
3. Linux中怎樣用命令啟動後台java進程
啟動java後台進程有兩種方式:
1. 絕對路徑/bin/java() & : 後台運行,版你關掉終端會停止運權行
2. nohup 絕對路徑/bin/java (java程序) : 後台運行,你關掉終端也會繼續運行
java相關操作有:
1.查看java進程信息:
ps -ef | grep java
2.結束java進程:
kill -9 java程序名稱
4. linux環境下 ps命令查看找不到java進程,使用ps-ef|grep java可以找到java進程,為什麼
ps命令默認只顯示當前用戶當前控制台的進程,其他用戶的以及後台的進程看不到,需要使用
ps aux
或者
ps -ef
等形式才可以,這是ps命令的功能選項的問題,與你的java進程是否被中斷無關。
5. linux 怎麼查看指定的進程
1、首來先需要打開linux客戶端進自入軟體主界面。
6. 在linux下什麼命令查看運行的Java程序
in terminal use ps -ef|grep java
7. Linux系統監控命令及如何定位到Java線程
CPU資源時,按照以下步驟進行查找:
(一):通過【 top -p 12377 -H】 查看java進程的有哪些線程的運行情況;
和通過【jstack 12377 > stack.log】生成Java線程的mp詳細信息;
先用top命令找出佔用資源厲害的java進程id,如圖:# top
如上圖所示,java的進程id為』52554′,接下來用top命令單獨對這個進程中的所有線程作監視:
1 top -p 52554 -H
# top視圖裡面裡面可以通過快捷鍵依次b ,x高亮顯示top的列找出需要的線程,默認CPU排序,Sh
8. java程序怎樣讀取linux系統下的文件
java是跨平台語言,在linux上讀文件跟在windows上讀文件是一樣的 只是文件路徑不一樣,可以用File對象和FileInputSteam來讀取。但要注意文件編碼問題。
如果有中文請做適當的編碼轉換,通常情況下Linux的默認字元編碼為UTF-8編碼方式,項目可以直接採用utf8編碼方式操作.用System.getProperty("file.encoding")可檢查系統編碼格式。可改操作系統的文件系統編碼,vi /etc/profile,在文件末尾加上
export LANG="zh_CN.GBK"
export LC_ALL="zh_CN.GBK"
編碼轉換代碼:new String(files[i].getName().getBytes("GBK"),"UTF-8");
文件操作的核心代碼請參考下面代碼:
String path= "/home/";
path= "/home/multiverse/Repository/PMEPGImport";
File file=new File(path);
File[] tempList = file.listFiles();
for (int i = 0; i < tempList.length; i++) {
if (tempList[i].isFile()) {
//FileInputStream fis = new FileInputStream("fileName");
//InputStreamReader isr = new InputStreamReader(fis,"utf-8");
StringBuffer buffer = new StringBuffer();
String text;
BufferedReader input = new BufferedReader (new FileReader(tempList[i]));
while((text = input.readLine()) != null)
buffer.append(text +"/n"); }
if (tempList[i].isDirectory()) {
System.out.println("文件夾:"+tempList[i]);
}
}