一.首先檢視系統中各程序占用cpu和記憶體的資訊,找出占用資源最多的程序pid。
1.用top(獲得程序的動態更新)命令檢視 預設每5秒重新整理一次,按照cpu使用率排行。輸入m可以按照記憶體占用排行。查出占用cpu或記憶體比較高的程序pid。
2.用ps(獲得程序的當前快照)命令。查出占用cpu或記憶體比較高的程序pid。
二.通過程序id查詢該程序下面所有執行緒的資訊,找出占用資源最多的執行緒的tid。
1.用top top -h -p 動態實時顯示該程序下所有的執行緒的情況,找出占用資源最高的執行緒tid。
2.用ps ps -t -p 顯示該程序下所有的執行緒的當前快照,找出占用資源最高的執行緒tid。
三.檢視該執行緒的堆疊資訊。
<1>1.獲取執行緒tid的十六進製制數 (printf "%x\n" tid)linux中可以用這個命令獲取轉換成16進製制後的數。
2.jstack pid >> ***.log 把程序的所有執行緒的堆疊資訊列印儲存到***這個檔案中。
3.用sz命令從伺服器匯出這個檔案,然後根據上面轉化的16進製制的執行緒tid在檔案中找到該執行緒的資訊。
<2>1.獲取執行緒tid的十六進製制數 (printf "%x\n" tid)linux中可以用這個命令獲取轉換成16進製制後的數。
2.jstack pid直接在伺服器上顯示這個程序所有執行緒的堆疊資訊。
3.jstack pid |grep 442b -a 30 顯示執行緒id為442b的執行緒的堆疊資訊。442b為要查詢的執行緒id的16進製制。
linux中程序執行exec家族
啟動程序 exec族 共用標頭檔案 include int execl const char path,const char arg,int execlp const char file,const char arg,int execle const char path,const char arg...
linux中程序後台執行的方法
參考自 linux 讓程式在後台執行 有些程式我們在開啟時,會一直占用我們的終端,而且終端還不能關掉,所以這時候我們就需要讓程式在後台執行。1.命令 nohup nohup python u run.py run.log 2 1 引數說明 run.py 你需要後台執行的程式 run.log 執行的日...
android中程序和執行緒的概述
在預設的情況下所有的應用的元件都是執行在同乙個程序中的,當然在某種特別耗時的動作中也可以指定新的程序。指定新程序可以通過android process屬性 在系統資源不足時會根據程序級別的不同kill掉執行緒,下面介紹一下程序的級別 乙個activity使用者正在互動 在呼叫onresume方法後 ...