linux執行中程序和執行緒分析

2021-10-08 16:31:06 字數 743 閱讀 5689

一.首先檢視系統中各程序占用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方法後 ...