/images/hugo/avatar.png

4.12 磁盘动态追踪

本节我们来介绍磁盘的动态追踪技术

1. Systemtab 磁盘追踪

Dtrace/Systemtab 能从内核角度检查磁盘 I/O 时间,包括:

  1. 块设备接口 I/O
  2. I/O 调度器事件
  3. 目标驱动 I/O
  4. 设备驱动 I/O

1.1 Dtrace

下面列出了用来跟踪磁盘 I/O 的Dtrace provider

4.10 磁盘

本节我们来介绍磁盘相关的操作系统原理。磁盘I/O可能会造成严重性能的问题(注意是可能)。在高负载下,磁盘成为瓶颈,CPU 持续空转以等待磁盘磁盘I/O结束。

4.9 文件系统动态追踪

本节我们来介绍文件系统的动态追踪技术

1. 使用 Systemtap 进行文件系统分析

Dtrace/Systemtap 能从系统调用、VFS 接口或文件系统内部的角度来查看文件系统行为。这些功能能用在负载特征分析和延时分析上。

4.8 文件系统监测命令

本节我们来介绍文件系统相关的监测工具。

1. 命令总览

我们会介绍如下文件系统统计信息的工具

Linux Solaris 作用 说明
vfsstat 文件系统统计信息,包括平均延时
fsstat 文件系统统计信息
kstat 各种文件系统和缓存统计信息
fcachestat 各种缓存命令中率和大小
free 缓存容量统计信息
strace truss 系统调用调试器
slaptop mdb:kmastat 内核 slab 分配器统计信息
/proc/memeinfo mdb:memstat 内核内存使用情况
sar sar 内存,swap使用统计信息 通用命令,位于独立的一节中

除此之外,还包括以下内容:

4.7 文件系统

本节我们来介绍文件系统相关的操作系统原理。文件系统性能比磁盘性能更加重要。文件系统通过缓存,缓冲以及异步I/O等手段来缓和了磁盘延时对应用程序的影响。