第一點需要澄清:我使用的環境是嵌入式linux,並非桌面版linux,檢視核心輸出的除錯資訊也是為了追蹤核心子系統的執行。這可能是乙個非常小的知識點,但是還是希望自己記錄一些東西,以後也好拾起。
1. 如何開啟核心除錯dbg輸出
config_dynamic_debug=y
在核心的配置選項中,我們可以選擇
kernel hacking->pintk and debugs options->enable dynamic printk() support
開啟這個功能選項後,核心中的除錯資訊就會輸出到乙個檔案中,這個檔案就是:/sys/kernel/debug/dynamic_debug/control
,該檔案會按照除錯輸出資訊的檔案和函式標識一條輸出資訊
我參考他人部落格時發現他們需要掛在debugfs
到/sys/kernel/debug
目錄下,我使用的檔案系統是buildroot
構建的,我在掛載的時候提示已經掛載好了。如果讀者的目錄還沒有掛在好可以參考如下命令進行掛載:
mount –t debugfs none /sys/kernel/debug
2. 如何檢視輸出的除錯資訊
1.按照關鍵字使用grep命令在dynamic_debug目錄下搜尋
2.按照檔名搜尋:這裡最好指定路徑,因為核心中可能具有同名的檔案
3.按照函式搜尋:這是由於debug的輸出一般都會帶著函式名,所以可以使用該方法
linux 核心調優
設定linux核心引數 配置 linux 核心引數 2種方法 修改後不用重啟動更新 sbin sysctl p 第一種 開啟 etc sysctl.conf 複製如下內容 kernel.shmall 2097152 kernel.shmmax 2147483648 kernel.shmmni 409...
Linux核心調優
專案出現socket連線超時和管道斷開連線 檢查nginx,nginx報錯 recv failed 104 connection reset by peer while reading response header from upstrea錯誤日誌表示 1 伺服器的併發連線數超過了其承載量,伺服器...
Linux 核心調優
以nginx 10k併發連線為優化目標,附簡單介紹,不一一解釋。一 tcp容量規劃 net.ipv4.tcp mem 262144 524288 786432 net.core.wmem max 16777216 net.core.wmem default 131072 net.core.rmem ...