课程培训
|
Linux系统编程与调试调优培训课程
Linux系统编程与调试调优培训课程 课程大纲 第1章 进入 Linux的精彩世界 1.1 Linux启动过程(多核) 1.2 Linux系统组成 1.3 strace和ltrace 1.4 GNU工具链和GDB调试 1.5 GCC编译的各个阶段分解 1.6 ELF文件分析 1.7 反汇编, objdump, dwarfdump 1.8 readelf, nm, strip 1.9 GDB调试技巧: 断点、watch、内存与backtrace等 1.10 GDB与多线程 1.11 LD_PRELOAD与动态库捕获 1.12 gprof 1.13 gcov 1.14 崩溃转储core dump 第2章 Linux内核进程调度与调试 2.1 进程生命周期 2.2 调度的上下文切换以及开销 2.3 调度算法的出发点:吞吐率与响应
实验课 1.写一个工具自动分析文件系统中程序与库的依赖关系图; 2.写一个工具自动分析文件系统中程序与库的符号依赖; 3.gcov白盒覆盖率 4.gdb调试多线程 5. gdb attach到一个运行进程 6.调试core dump实例 7. 用 strace和ltrace跟踪一个应用对内核和库的调用 8. 跟踪和拦截Linux应用程序对动态库的调用
2.2 进程调度算法 2.2.1 SCHED_FIFO/RR 2.2.2 SCHED_NORMAL与CFS算法 2.2.3 nice 2.3 进程调度时机 2.4 Linux实时性与RT解决方案 2.5 SMP 2.5.1 多核负载均衡 2.5.2 CPU热插拔 2.5.3 CPU affinity 2.5.4 BFS算法 2.6 针对CPU资源的Cgroups 2.7 系列案例演示调度行为对系统响应的影响 第3章 内核调试 3.1 printk 及其变体 3.2 内核崩溃oops分析 3.3 内核debug 选项 3.4 proc 和 sys 3.5 内核启动过程调试 3.6 内核启动时间优化调试 3.7 待机和电源管理调试 3.8 用JTAG调试内核 实验课程 1.使用dev_xxx和pr_xxx打印信息 2.分析一次内核崩溃oops并反汇编 3.写一个透过/proc在用户空间和内核空间进行交互的例子 4.使用JTAG和GDB调试内核 5.运行一个多线程的程序,观察top, htop, mpstat的情况 6.通过chrt, nice, renice, taskset方法改变进程的调度属性 7.通过cgroup分配CPU资源
第4章 内存分析与内存泄露 1. MMU系统 2. page与zone 3. buddy系统 4. slab、kmalloc 5. 用户空间malloc与内核buddy等的关系 6. out-of-memory (OOM)与控制 7. 进程的内存消耗 8. page cache与swap 9. zRAM 10. 内存泄露剖析 11. Addresssanitizer与valgrind 12. 针对内存资源的Cgroups 实验课程 1.分析一个运行时Linux的内存分布情况 2.用smem观察进程的内存变化 3.用valgrind跟踪一个有堆内存泄露的进程 4.启动编译器Addresssanitizer 4.写一个有栈溢出的程序并观察溢出表现 5.做I/O动作,观察page cache变化 6.运行一个引起OOM的程序 7.运行一个程序的多个副本,观察PSS变化
第5章 Linux多进程与多线程 1. 多进程通信 2. 多线程通信 3. 正确的互斥和同步方法 4. 可重入与线程安全 5. 多进程、多线程调试 6. IPC调试、死锁 7. Linux的I/O模型 8. 多线程与I/O 9. C10K问题 第6章 Linux性能优化 1. CPU负载分析:top, htop, mpstat 2. I/O负载分析:iostat, iotop 3. Linux逻辑分析仪:LTTng 4. 综合性能瓶颈:oprofile/perf 5. 程序执行时间分布分析 6. cache miss分析 7. 开机优化:bootchart 8. 功耗优化: powertop 和 cpufreq-bench 9. ftrace 10. Linux基准程序(LMBench,Bonnie++, IOZone, Netperf/iperf等) 11. 特别彩蛋: LEP(Linux Easy Profiling) 实验课程 1.观察一个有一定CPU、I/O负载的系统CPU、I/O情况 2.运行oprofile分析 binary的时间比例 3.使用Bonnie++分析文件系统的性能 4.修改diry_ratio等值分析文件系统性能 5.使用LMBench分析操作系统性能 6.观察一个LTTng的结果 7.运行perf观察CPU、I/O分布情况 8.运行perf观察程序的时间分布
如果您想学习本课程,请预约报名
如果没找到合适的课程或有特殊培训需求,请订制培训 除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916 技术服务需求表下载请点击 服务优势: 丰富专家资源,精准匹配相关行业,相关项目技术精英,面向用户实际需求,针对性培训或咨询,互动式交流,案例教学,精品小班,实际工程项目经验分享,快捷高效,节省时间与金钱,少走弯路与错路。 专家力量: 中国科学院相关研究所高级研究人员 西门子,TI,vmware,MSC,Ansys,MDI,Mentor, candence,Altium,Atmel 、Freescale,达索,华为等 大型公司高级工程师,项目经理,技术支持专家 中科信软培训中心,资深专家或讲师 大多名牌大学,硕士以上学历,相关学历背景专业,理论素养高 多年实际项目实践,大型复杂项目实战案例分享,热情,乐于技术分享 针对客户实际需要,真实案例演示,互动式沟通,学有所值 |
|