国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux下定位異常消耗的線程實戰盤點

2024-08-27 23:31:42
字體:
來源:轉載
供稿:網友
前言:
之前分享過一篇Linux開發coredump文件分析實戰分享 ,今天再來分享一篇實戰文章。
 
在我們嵌入式linux開發過程中,開發過程中我們經常會使用多進程、多線程開發。那么多線程使用過程中,我們大概率會遇到某線程長時間占用cpu,導致設備執行異常。
 
通常只有四五個線程,我們可以通過一個個線程調試捕捉到異常線程,如果你開發的設備上面運行了大概三四十個線程,我們一下子不好看到對應哪個線程出問題,也不好使用列舉法進行搜索,這個時候我們需要配合一些工具進行監控以及檢查我們執行的進程下面的線程。下面我就給大家介紹一下我自己工作中實際遇到的例子。
 
情節介紹:
在工作中,我遇到這樣一個問題,我的設備跑機的時候發現,機器運行某些狀態時候有些怪異,對于某些機制的處理響應不夠及時,最后top檢查,發現是我運行的某個進程中的某幾個線程運行cpu占有率很高,導致其他的一些線程無法及時運行。
 
找到問題了,接下來我們就開始找對應的線程然后進行修改,前文提到,進程里面有一兩個線程還好說,我們可以通過一些比較基礎的方法,一個個線程進行log或者其他手段的信息輸出,但是如果我們遇到單個進程里面有很多線程的時候,我們如何檢查呢?
 
初步列一個使用的工具大綱:ps 組合命令、top組合命令、pstack、strace、ltrace、gdb attach 實時調試 、 kill 、coredump文件查看線程堆棧
 
以上就是我使用到的一些命令和操作,接下來一一給大家進行分析和介紹:
 
首先給大家介紹每個工具和命令詳細介紹,再用自己的一個小例子把這些工具進行組合使用說明。
 
工具和組合命令詳細介紹
首先給詳細的介紹一下這些工具說明書:
 
ps 的選項參數介紹:
ps命令大家在linux使用應該是很熟悉的,ps是Process Status的縮寫,用來列出系統中當前運行的進程。使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等。ps命令所列出的進行是當前進程的快照,也就是并不是動態的,而是執行該命令時那一時刻進行的狀態。
 
ps 的參數非常多, 在此僅列出幾個常用的參數并大略介紹含義
-A 列出所有的進程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
我一般都是使用 ps -aux進行查看后臺運行的進程pid
 
下面再進行補充一下今天要使用到的ps組合命令
 
查看進程對應的線程

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 承德市| 石台县| 保康县| 庆城县| 永善县| 黄大仙区| 旬邑县| 华池县| 五大连池市| 绥化市| 深水埗区| 万安县| 涞水县| 通山县| 湖南省| 鄂尔多斯市| 晋中市| 安岳县| 喀喇沁旗| 许昌市| 上饶市| 邵东县| 石泉县| 丹寨县| 临朐县| 墨竹工卡县| 冕宁县| 黑山县| 孟津县| 咸丰县| 双江| 出国| 灯塔市| 河曲县| 株洲市| 惠东县| 绵竹市| 秦安县| 台东市| 淮安市| 长寿区|