- OS
- System Libraries
- ltrace, perf
- System Call Interface
- strace, sysdig
- Sockets
- ss, netstat
- TCP/UDP
- netstat, iptraf(监控流量)
- System Libraries
- IP
- netstat, iptraf
- Ethernet
- netstat, iptraf, tcpdump
- Block Device Interface、I/O Controller、Disk
- pidstat, iostat, iotop, blktrace
- Linux Kernel
- perf, ftrace, stap, ktap,ebpf, dtrace, lttng
- Scheduler
- perf, mpstat, top, ps
- Virtual Memory
- top, ps, pidstat, vmstat, slabtop, free
- I/O Bus
- pref, tiptop
- Network Controller
- nicstat, netstat, ip
- Port
- iptraf, nicstat, netstat, ip, ethtool, snmpget 1ldptool
- Hardware
- CPU
- perf, mpstat, top, ps, pidstat
- Memory Bus (CPU - DRAM)
- perf, tiptop
- DRAM
- vmstat, slabtop, free
- Various
- sar, dstat, /proc
- CPU
sysdig 跟踪系统调用
slabtop 跟踪salb使用情况 /proc/slabinfo
mpstat 显示各个cpu上面的细分cpu 占用率
pidstat 显示各进程的细分cpu占用率
systemtap kprobe 的封装,使用脚本语言,较kprobe 好使用。
ftrace systemtap lttng 内核跟踪工具
blktrace 跟踪磁盘 块设备层的活动
nfsiostat
lockstat 分析锁情况
chrt 动态调整优先级 taskset 设置进程亲缘性 nice renice
sar sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等
perf 工具,性能调试必备工具。
ftrace ()
dstat是一个用来替换 vmstat,iostat netstat,nfsstat和ifstat这些命令的工具, 是一个全能系统信息统计工具.
查看: /proc/pid/sched /proc/pid/sche_debug sched_migration_cost
性能调优 点:
1. 线程绑核 (线程不停的迁移有可能花费很多时间)
2. 编译选项 -O2
3. 函数改成内联
4. 循环 内大外小
5. 关闭高精度定时器 ,使用外部timer 作为时钟源
6. 中断改成轮循
7. 锁,检查锁冲突 提高锁的优先级, 可以考虑使用rt 锁, 避免优先级反转导致锁等待时间长
8. 设置中断亲缘性 /proc/irq/irq_name/smp_affinity
kvm退出次数 /sys/kernel/debug/kvm/exits
x86 cache miss 调试工具 vtune工具
perf 使用方法:
perf -g 调用栈
perf kmem 内存申请情况
perf sched latency 调度时延
perf stat -r <n> -a sleep
perf recore -a sleep <n>
性能优化点:
1. 小函数内联化 (减少压栈、弹栈的操作)
2. 重新排列函数位置,减少调用很远的函数,减少cache miss
3. 内存屏障 (根据情况,确认是否可去掉,如果去掉则会提升性能)
4. 减少branch miss , 使用likely 和unlikely
应用程序代码优化点:
1. 编译选项, -mapcs-frame (-fomit-frame-pointer 将不产生标准栈帧)
2. 热点函数获取, perf 和oprofile 工具
3. 消息、内存、信号量,锁冲突, 资源阻塞点
4. 排查代码变化
参考手册
http://kernel.taobao.org/images/3/31/Linux%E7%9A%84%E7%B3%BB%E7%BB%9F%E7%BA%A7%E6%80%A7%E8%83%BD%E5%89%96%E6%9E%90%E5%B7%A5%E5%85%B7-perf-2.pdf