Skip to content

Latest commit

 

History

History
54 lines (41 loc) · 1.63 KB

File metadata and controls

54 lines (41 loc) · 1.63 KB

观测工具

4.1 工具类型

计数器

内核维护了各种统计数据,称为计数器,用于对事件计数。
通常计数器实现为无符号的整型数,发生事件时递增。
例如 有网络包接收的计数器,磁盘 IO计数器,系统调用执行的计数器。

计数器的使用可以认为是“零开销”的,因为它们默认开启,而且始终由内核维护。

系统级别

  • vmstat 虚拟内存和物理内存的统计,系统级别
  • mpstat 每个CPU的使用情况
  • iostat 每个磁盘的IO使用情况,由块设备接口报告。
  • netstat 网络接口的统计,TCP/IP栈的统计,以及每个连接的一些统计信息。
  • sar 各种各样的统计,能归档历史数据,

进程级别

  • ps 进程状态,进程的各种统计信息,包括CPU和内存的使用。
  • top 按照一个统计计数排序,显示排名最高的进程
  • pmap 进程的内存段和使用情况

跟踪

跟踪收集每一个事件的数据以供分析。
跟踪框架一般不是默认开启的,因为跟踪捕获数据会有CPU开销,还有不小的存储空间来存放数据。
这些会拖慢跟踪对象,在解释测量时间的时候需要加以考虑。
日志,包括系统日志,可以认为是一种默认开启的低频率跟踪,
日志会包括每一个事件的数据,虽然通常只针对偶发事件,如错误和警告。

剖析

监视(sar)

4.2 观测来源

/proc

/sys

kstat(Solaris系统)

延时核算

微状态核算 (Solaris系统)

其他观测源

4.3 DTrace

4.4 SystemTap

4.5 Perf