掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
Linux上的D類程序簡介

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

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流