Linux查看線程

來源:互聯網
上載者:User

標籤:命令列   線程   linux中   概念   linux   cpu   切換   共用   預設   

 我的程式在其內部建立並執行了多個線程,我怎樣才能在該程式建立線程後監控其中單個線程?我想要看到帶有它們名稱的單個線程詳細情況(如,CPU/記憶體使用量率)。

線程是現代作業系統上進行並存執行的一個流行的編程方面的抽象概念。當一個程式內有多個線程被叉分出用以執行多個流時,這些線程就會在它們之間共用特定的資源(如,記憶體位址空間、開啟的檔案),以使叉分開銷最小化,並避免大量高成本的IPC(處理序間通訊)通道。這些功能讓線程在並發執行時成為一個高效的機制。

在Linux中,程式中建立的線程(也稱為輕量級進程,LWP)會具有和程式的PID相同的“線程組ID”。然後,各個線程會獲得其自身的線程ID(TID)。對於Linux核心調度器而言,線程不過是恰好共用特定資源的標準的進程而已。經典的命令列工具,如ps或top,都可以用來顯示線程層級的資訊,只是預設情況下它們顯示進程層級的資訊。

這裡提供了在Linux上顯示某個進程的線程的幾種方式。

 

方法一:PS

在ps命令中,“-T”選項可以開啟線程查看。下面的命令列出了由進程號為<pid>的進程建立的所有線程。 1.$ ps -T -p <pid>

 

“SID”欄表示線程ID,而“CMD”欄則顯示了線程名稱。

 

方法二: Top

top命令可以即時顯示各個線程情況。要在top輸出中開啟線程查看,請調用top命令的“-H”選項,該選項會列出所有Linux線程。在top運行時,你也可以通過按“H”鍵將線程查看模式切換為開或關。 1.$ top -H

 

要讓top輸出某個特定進程<pid>並檢查該進程內啟動並執行線程狀況: 1.$ top -H -p <pid>

 

 

方法三: Htop

 

Linux查看線程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.