Linux观测来源

性能之巅


类型来源
进程级计数器/proc
系统级计数器/proc, /sys
设备驱动和调试信息/sys
进程级跟踪ptrace uprobes
性能计数器perf_event
网络追踪libpcap
进程级延时指标延时核算
系统级跟踪tracepoints, kprobes, ftrace

/proc
提供内核统计信息的文件系统接口,其中以进程ID命名的目录代表的就是该进程,其它的文件提供系统级别的统计数据。/proc由内核动态创建,在内存中运行不需要任何存储设备,多数文件只读(为观测工具提供统计数据),部分可写(用于控制进程和内核行为)。
进程ID目录内与进程性能观测相关的文件

文件名描述
limits实际的资源限制
maps映射的内存区域
schedCPU调度器的各种统计
schedstatCPU运行时间、延时和时间分片
smaps映射内存区域的使用统计
stat进程状态和统计,包括总的CPU和内存的使用情况
statm以页为单位的内存使用总结
statusstat和statm的信息,用户可读
task每个任务的统计目录

系统级性能观测相关文件

文件描述
cpuinfo物理处理器信息,包含所有虚拟CPU、型号、时钟频率和缓存大小
diskstats对于所有磁盘设备的磁盘I/O统计
interrupts每个CPU的中断计数器
loadavg负载平均值
net/dev网络接口统计
net/tcp活跃的TCP套接字信息
schedstat系统级别的CPU调度器统计
self关联当前进程ID路径的符号连接
slabinfo内核slab分配器缓存统计
stat内核和系统资源的统计,CPU、磁盘、分页、交换区、进程
zoneinfo内存区信息

/sys
linux提供了sysfs文件系统,挂载在/sys,为内核统计提供基于目录的结构。

在这里插入图片描述
其中cache为CPU多级缓存的信息

延时核算

  • 调度器延时:等待轮到上CPU
  • 块I/O:等待块I/O完成
  • 交换:等待换页(内存压力)
  • 内存回收:等待内存回收例程

其它观测源

  • CPU性能计数器:可编程的硬件寄存器,提供低层级的性能信息,包括CPU周期计数、指令技术、停滞周期等等。
  • 进程级别跟踪:跟踪的是用户级别软件事件,如系统调用和函数调用。一般执行的代价较高,会拖慢跟踪的目标。
  • 内核跟踪:内核探针
  • 网络嗅探:网络设备上抓包,对数据包和协议的性能做详细调查。
  • 进程核算:
  • 系统调用:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值