新聞中心
Linux上的D類程序簡(jiǎn)介

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了龍山免費(fèi)建站歡迎大家使用!
在Linux系統(tǒng)中,D類程序是指內(nèi)核級(jí)別的調(diào)試程序,可以讓開發(fā)人員更好地進(jìn)行系統(tǒng)調(diào)試和性能分析。D類程序的優(yōu)點(diǎn)是可以在內(nèi)核態(tài)中收集數(shù)據(jù)和進(jìn)行調(diào)試,避免了用戶態(tài)和內(nèi)核態(tài)切換的開銷和覆蓋。本文將對(duì)Linux上的D類程序進(jìn)行簡(jiǎn)要介紹和說明。
D類程序的基本概念
D類程序全稱為Dynamic Tracing,是一種動(dòng)態(tài)跟蹤技術(shù),用于在執(zhí)行過程中監(jiān)視/觀察各種系統(tǒng)和應(yīng)用級(jí)別的事件。它可以幫助理解運(yùn)行時(shí)的系統(tǒng)狀況,診斷問題和優(yōu)化性能。D類程序是Linux操作系統(tǒng)內(nèi)核開發(fā)人員的重要工具,可以有效地調(diào)試內(nèi)核代碼、測(cè)試新功能和解決問題。
D類程序有三個(gè)核心組件:
1. TRACEPOINTS:是用于事件記錄的工具,用于定義觸發(fā)器并在特定情況下在內(nèi)核函數(shù)中進(jìn)行記錄。
2. PROBES:也是事件記錄工具,是對(duì)代碼任何地方的定點(diǎn)站點(diǎn),而TRACEPOINTS則是在內(nèi)核代碼中的固定站點(diǎn)。
3. SCRIPTS:是一個(gè)動(dòng)態(tài)跟蹤腳本,允許在運(yùn)行時(shí)創(chuàng)建、跟蹤和記錄事件。
D類程序的分類
D類程序有許多形式和類別,主要包括以下三類:
1. Tracepoints:Tracepoints是一種在執(zhí)行函數(shù)調(diào)用時(shí)動(dòng)態(tài)創(chuàng)建的內(nèi)核中斷,這種技術(shù)允許內(nèi)核被綁定到任意事件,允許使用內(nèi)核調(diào)試器進(jìn)行實(shí)時(shí)跟蹤。它非常有用,允許迅速地捕捉與數(shù)據(jù)結(jié)構(gòu)操作和調(diào)試有關(guān)的信息,這些信息在調(diào)試時(shí)經(jīng)常會(huì)很有用。
2. Kernel-shark:Kernel-shark是一個(gè)可視化工具,使用Trace-cmd命令從trace日志中讀取數(shù)據(jù),并使用QT框架構(gòu)建GUI,允許更輕松地分析內(nèi)核運(yùn)行環(huán)境和性能瓶頸。該工具可用于分析CPU使用情況、I/O操作和各種系統(tǒng)調(diào)用,提供了很多有用的分析選項(xiàng)。
3. SystemTap:SystemTap是一個(gè)內(nèi)核級(jí)探針,提供全面的調(diào)試和性能分析功能。它可以通過在內(nèi)核中插入鉤子來跟蹤系統(tǒng)各個(gè)請(qǐng)求和響應(yīng)的數(shù)據(jù),以及存儲(chǔ)、打印、比較等其他操作,這使得開發(fā)人員能夠更好地理解系統(tǒng)內(nèi)部的交互,診斷問題和優(yōu)化性能。
D類程序的使用
D類程序不是Linux系統(tǒng)默認(rèn)的工具,需要開啟內(nèi)核的對(duì)應(yīng)功能。可以通過同時(shí)使用gcc和make兩個(gè)指令的方式來安裝相應(yīng)的工具。安裝完成后,即可開始使用D類程序進(jìn)行系統(tǒng)調(diào)試和性能分析。
首先需要定義跟蹤觸發(fā)器。這是通過PROBE的方法實(shí)現(xiàn)的,使用在內(nèi)核級(jí)別的工具建立系統(tǒng)級(jí)別探針。其中的TRACEPOINTS為系統(tǒng)內(nèi)部的事件定義名稱,可以應(yīng)用于任意內(nèi)核函數(shù)。PROBE安裝后,就可以使用DTRACE功能來訪問跟蹤觸發(fā)器,然后通過探針監(jiān)測(cè)系統(tǒng)功能并輸出跟蹤結(jié)果。
需要編寫動(dòng)態(tài)跟蹤腳本。在系統(tǒng)中,通常需要跟蹤大量的記錄,這使得遍歷文件數(shù)據(jù)或搜索數(shù)據(jù)存儲(chǔ)時(shí)變得極其困難。為了方便,可以使用動(dòng)態(tài)跟蹤腳本,它們可以幫助你快速跟蹤各種系統(tǒng)事件,包括內(nèi)核級(jí)別的事件,比如信號(hào)發(fā)送、CPU使用情況等等。
就可以使用Trace-cmd命令訪問Tracepoints,以及使用Kernel-shark和SystemTap這兩個(gè)內(nèi)核級(jí)調(diào)試器,通過跟蹤系統(tǒng)事件和內(nèi)部運(yùn)行時(shí)數(shù)據(jù),了解系統(tǒng)行為和性能瓶頸。
D類程序是一類非常有用的內(nèi)核調(diào)試工具,可以幫助開發(fā)人員快速診斷問題和優(yōu)化性能。在Linux系統(tǒng)中,Tracepoints、Kernel-shark和SystemTap是最常用的三種D類程序。它們可以幫助跨越用戶態(tài)和內(nèi)核態(tài)的障礙,以提供深入的性能、軟件和系統(tǒng)分析,實(shí)現(xiàn)真正的能夠幫助用戶提高系統(tǒng)效率的功能。雖然它可能難以開始,但它可以幫助開發(fā)人員深入了解Linux的內(nèi)核實(shí)現(xiàn),并有信心在對(duì)系統(tǒng)進(jìn)行修改時(shí)避免問題。
相關(guān)問題拓展閱讀:
- linux中如何開機(jī)啟動(dòng)運(yùn)行指定的應(yīng)用程序或指令?
linux中如何開機(jī)啟動(dòng)運(yùn)行指定的應(yīng)用程序或指令?
fonts
export QWS_MOUSE_PROTO=Tslib.1 用戶啟動(dòng)文件
#;bin/zhiyuan/input/etc/ts0
export TSLIB_CALIBFILE=/:是“空格”+“&”符號(hào)滾橡)讓其在后臺(tái)運(yùn)行.d/,若用戶不需要啟動(dòng)QT,造成其他程序(比如Shell)無法通過串口終端與用戶交互.conf
export TSLIB_TSDEVICE=/init;home/etc/,則可能會(huì)導(dǎo)致位于其后的指令或程序無法得到執(zhí)行;ts/,那么設(shè)置hellow程序開機(jī)啟動(dòng)的方法如程序清單閉備尺 1!/usrb/,可以直接刪除
export TSLIB_PLUGINDIR=/,you can delete it 下面是啟動(dòng)QT界面的指令;hellow
#start qt command.d/dev/,將要執(zhí)行的指令添加到里面;sh
#you can add your app start_command three
/home/。
程序清單1;ts0
/
export TSLIB_CONFFILE=/。若用戶有一個(gè)hellow的程序放在/start_userapp;start_zylauncher &
如果程序是一個(gè)阻塞程序(程序被運(yùn)行后不會(huì)退出或返回);目錄中,可以通過vi命令編轎高輯/。
當(dāng)用戶需要EasyARM-iMX283在開機(jī)啟動(dòng)后就運(yùn)行指定的應(yīng)用程序或指令時(shí),并且始終占用串口終端其實(shí)樓主的問題很專業(yè);zylauncher/,之前我在周立功那邊也了解過不少;ts;usrb/usr/。對(duì)于此類應(yīng)用程序,如下所示;etc/:/input/dev/rc.1紅色部分所示;home/pointercal
export QT_QWS_FONTDIR=/,可以在其后面添加“ &”(注意:
/
可以把需要運(yùn)行的指令放到/etc/rc.local中
其實(shí)樓主的問題很專業(yè),之前我在周立功那邊也了解過不少。
當(dāng)用戶需要EasyARM-iMX283在開機(jī)啟動(dòng)后就運(yùn)行指定的應(yīng)用程序或指令時(shí),可以通過vi命令編輯/etc/rc.d/init.d/start_userapp,將要執(zhí)行的指令添加到里面。若用戶有一個(gè)hellow的程序放在/home/目錄中,那么設(shè)置hellow程序開機(jī)啟動(dòng)的方法如程序清單 1.1紅色部分所寬沖示。
程序清單1.1 用戶啟動(dòng)文件
#!/bin/sh
#you can add your app start_command three
/home/hellow
#start qt command,you can delete it 下面是啟動(dòng)QT界面的指令,若用戶不需要啟動(dòng)QT,可以直接刪除
export TSLIB_PLUGINDIR=/usrb/ts/
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_TSDEVICE=/dev/input/ts0
export TSLIB_CALIBFILE=/etc/pointercal
export QT_QWS_FONTDIR=/usrb/fonts
export QWS_MOUSE_PROTO=Tslib:/dev/input/ts0
/usr/zhiyuan/zylauncher/start_zylauncher &
如果程序是一個(gè)阻塞程序(程序被運(yùn)行后不會(huì)退出或返回),則可能會(huì)導(dǎo)致位于其后的指令或程序無法得到執(zhí)行段帶,慎燃?xì)灢⑶沂冀K占用串口終端,造成其他程序(比如Shell)無法通過串口終端與用戶交互。對(duì)于此類應(yīng)用程序,可以在其后面添加“ &”(注意:是“空格”+“&”符號(hào))讓其在后臺(tái)運(yùn)行,如下所示:
/home/hellow &
可以把需要運(yùn)行的指令放到/etc/rc.local中
linux下d類程序的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux下d類程序,「Linux上的D類程序簡(jiǎn)介」,linux中如何開機(jī)啟動(dòng)運(yùn)行指定的應(yīng)用程序或指令?的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)頁標(biāo)題:「Linux上的D類程序簡(jiǎn)介」(linux下d類程序)
網(wǎng)頁網(wǎng)址:http://fisionsoft.com.cn/article/djsscjh.html


咨詢
建站咨詢
