Linux内核之tracepoint介绍

概述

Tracepoint 是一种在 Linux 内核中插入的静态探测点,用于跟踪和调试内核行为。它允许开发者在特定位置插入代码,收集运行时信息,而不会显著影响性能。

原理

特性

  • 静态探测点: 在内核预定义, 自定义的函数可以插入在这里
  • 动态启用: 默认不启用, 减少性能开销
  • 低开销
阅读更多

bpftrace简介

概述

bpftrace是一个基于eBPF的高级跟踪工具, 用于动态追踪Linux系统的行为和性能.

用于可以用简单的一行命令或者简洁的脚本,实现监控分析内核和用户空间程序的运行,而无需修改或者重新编译

安装

sudo apt-get install bpftrace
阅读更多

性能优化工具-strace

概述

使用 strace 查看系统调用统计可以帮助你分析一个进程的行为,特别是它在运行时进行的系统调用

原理

strace 使用 ptrace 系统调用追踪目标进程

当被跟踪的进程

阅读更多

性能优化工具-iostat

常用命令

  • -x 扩展信息

  • -m 使用MB单位

  • 命令后跟数字x y 每x秒刷新, 显示y次

    #每隔 2 秒显示一次详细的设备统计信息,共显示 5 次。

    iostat -x 2 5
  • -c 显示cpu相关的信息

  • -p 指定特定设备信息,比如-p sda只展示sda下的\

指标

基本指标

  • Device: 设备名称,例如 sda 表示第一个SCSI磁盘设备。
阅读更多

性能优化工具-perf

概述

perf 是一个强大的 Linux 性能分析工具,它可以用来收集和分析性能数据。

perf的命令有很多,下文将就其中常用的几条进行阐述


usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS]

The most commonly used perf commands are:
annotate Read perf.data (created by perf record) and display annotated code
archive Create archive with object files with build-ids found in perf.data file
bench General framework for benchmark suites
buildid-cache Manage build-id cache.
buildid-list List the buildids in a perf.data file
c2c Shared Data C2C/HITM Analyzer.
config Get and set variables in a configuration file.
daemon Run record sessions on background
data Data file related processing
diff Read perf.data files and display the differential profile
evlist List the event names in a perf.data file
ftrace simple wrapper for kernel's ftrace functionality
inject Filter to augment the events stream with additional information
iostat Show I/O performance metrics
kallsyms Searches running kernel for symbols
kvm Tool to trace/measure kvm guest os
list List all symbolic event types
mem Profile memory accesses
record Run a command and record its profile into perf.data
report Read perf.data (created by perf record) and display the profile
script Read perf.data (created by perf record) and display trace output
stat Run a command and gather performance counter statistics
test Runs sanity tests.
top System profiling tool.
version display the version of perf binary
probe Define new dynamic tracepoints
trace strace inspired tool
kmem Tool to trace/measure kernel memory properties
kwork Tool to trace/measure kernel work properties (latencies)
lock Analyze lock events
sched Tool to trace/measure scheduler properties (latencies)
timechart Tool to visualize total system behavior during a workload

See 'perf help COMMAND' for more information on a specific command.

安装

阅读更多