/images/hugo/avatar.png

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等手段来缓和了磁盘延时对应用程序的影响。

4.6 内存动态追踪

本节我们来介绍内存动态追踪技术

1. Systemtap 进行 内存 分析

Systemtap 可以用来剖析

  1. 跟踪用户和内核的内存分配
  2. 主次缺页异常
  3. 页面换出守护进程的运行

这些功能支持负载特征分析、向下挖掘分析。