
曙海教學(xué)優(yōu)勢(shì)
該課程,秉承21年教學(xué)品質(zhì),以項(xiàng)目實(shí)現(xiàn)為導(dǎo)向,面向企事業(yè)單位項(xiàng)目實(shí)際需求,講師將會(huì)與您分享設(shè)計(jì)的全流程以及工具的綜合使用技巧與經(jīng)驗(yàn)。課程可定制,線下/線上/上門皆可,全國(guó)免費(fèi)報(bào)名熱線:4008699035。
曙海培訓(xùn)的課程培養(yǎng)了大批受企業(yè)歡迎的工程師。大批企業(yè)和曙海
建立了良好的合作關(guān)系,合作企業(yè)三十多萬(wàn)家。曙海的課程得到業(yè)內(nèi)企事業(yè)單位廣泛贊譽(yù)。
本課程針對(duì)在Linux之上開發(fā)多進(jìn)程、多線程程序,它的主要內(nèi)容包括各類開發(fā)工具、編譯優(yōu)化、執(zhí)行亂序、動(dòng)態(tài)鏈接庫(kù)攔截、白盒測(cè)試,以及如何在Linux中設(shè)計(jì)好多進(jìn)程的通信、多線程的通信并進(jìn)行調(diào)試,如何避免多線程程序的內(nèi)存故障、臨界區(qū)競(jìng)態(tài)訪問出錯(cuò),如何規(guī)劃好各個(gè)線程的各自的工作、設(shè)計(jì)好I/O模型等。
課程的后半部分,會(huì)講解性能優(yōu)化,分析清楚CPU、內(nèi)存、I/O瓶頸,分析運(yùn)行時(shí)耗時(shí)的代碼,分析一些延遲的來(lái)源等,涉及到對(duì)ftrace、perf、kprobe、uprobe、eBPF/BCC、getdelays、火焰圖等工具的講解。
第一章 開發(fā)工具:編譯,調(diào)試,攔截,跟蹤和測(cè)試
第1節(jié) 進(jìn)入 Linux的精彩世界
1 Linux啟動(dòng)過程(多核)
2 Linux系統(tǒng)組成
3 strace和ltrace
4 LD_PRELOAD與動(dòng)態(tài)庫(kù)捕獲
5 meltdown漏洞
第2節(jié) GCC和GDB
1 GNU工具鏈和GDB調(diào)試
2 GCC與編譯優(yōu)化
3 編譯亂序與執(zhí)行亂序
4 反匯編, objdump
5 GDB調(diào)試技巧: 斷點(diǎn)、watch、內(nèi)存與backtrace等
6 崩潰轉(zhuǎn)儲(chǔ)core dump
第3節(jié) ELF文件分析
1 readelf, nm, strip
2 dwarfdump
3 程序、庫(kù)依賴關(guān)系分析
第4節(jié) GNU toolchain其他功能
1 gprof
2 gcov白盒測(cè)試
第二章 系統(tǒng)編程:多進(jìn)程和多線程
第1節(jié) Linux多進(jìn)程編程
1. 多進(jìn)程模型
2. 多進(jìn)程通信
3. 進(jìn)程間通信(IPC)調(diào)試
第2節(jié) Linux多線程
1. 多線程程序創(chuàng)建
2. 線程生命周期
3. 線程調(diào)度策略和優(yōu)先級(jí)設(shè)置
4. 正確的互斥和同步方法
5. 可重入與線程安全
6. IPC調(diào)試、死鎖
7. 多進(jìn)程、多線程調(diào)試
8. 線程的棧和棧溢出
9. 優(yōu)先級(jí)翻轉(zhuǎn)問題
第3節(jié) 多線程模型
1. 多線程程序的模型,線程的規(guī)劃
2. 阿姆達(dá)爾定律
3. Linux的I/O模型
4. 多線程與I/O
5. C10K問題
第三章 系統(tǒng)優(yōu)化:理論和工具
第1節(jié) Linux性能模型
USE模型
吞吐率
延遲
排隊(duì)論
CPU、mem和I/O
Lock和lock競(jìng)爭(zhēng)
省電優(yōu)化攻略
第2節(jié) 工具篇
Ftrace
Perf
eBPF/BCC
getdelays
latencytop
Powertop
剖析知識(shí)
第3節(jié) CPU相關(guān)優(yōu)化
模型與基礎(chǔ)工具:top, mpstat
CPU的時(shí)間分布:中斷、軟中斷、D狀態(tài)(iowait)等
SCHED跟蹤
CPU的stalled狀態(tài),CPI與IPC
Cache, branch miss
CPU在干什么:ON-CPU火焰圖,代碼熱點(diǎn)
CPU在等什么:OFF-CPU火焰圖
第4節(jié) I/O相關(guān)優(yōu)化
模型: iostat,iotop等
跟蹤
Blktrace
Blk-mq
Page cache與I/O
Swap與I/O
第5節(jié) 網(wǎng)絡(luò)相關(guān)優(yōu)化
模型
跟蹤
多隊(duì)列網(wǎng)卡
RSS/RPS/XPS
?