linux中关于磁盘IO

  

查看磁盘IO负载——看哪些进程在读写磁盘
一、lsof命令查看进程打开的文件
lsof全名为打开的文件列表,也就是列举系统中已经被打开的文件,通过lsof命令,可以根据文件找到对应的进程信息,也可以根据进程信息找到进程打开的文件。
#个别环境需要安装
sudo yum安装使用lsof - y
参数选项
-c<进程名比;显示指定的进程名所打开的文件
术;进程号比;显示指定的进程号所打开的文件
我通过监听指定的协议,端口和主机等信息,显示符合条件的进程信息
- u显示指定用户使用的文件
- u显示所有套接字文件

  

1,显示占用文件的进程
linux中关于磁盘IO

  

内容详解:
命令:命令,进程的名称
PID:进程号
用户:进程的所有者
FD:文件描述符,包含以下内容:
0:标准输出
1:标准输入
2:标准错误
u:该文件被打开并处于读/写取入模式
r:该文件被打开并处于只读模式
w:该文件被打开并处于写入模式
类型:文件类型,REG(常规)为普通文件
设备:指定磁盘的名称
大?:文件的大小
节点:索引节点
名称:文件名称

  

2,显示指定进程所打开的文件
linux中关于磁盘IO
3,显示指定进程号所打开的文件

  

linux中关于磁盘IO
4,监听指定协议,端口和主机等信息,显示符合条件的进程信息
4.1查看所有进程
linux中关于磁盘IO
4.2显示所有tcp网络连接的进程信息
linux中关于磁盘IO
4.3显示端口为22的进程* *
linux中关于磁盘IO
5,显示指定用户占用的文件
linux中关于磁盘IO
6,显示所有套接字文件
linux中关于磁盘IO

  

二,猫/proc/$ pid/io直接查看进程pid文件
如果内核版本大于2.6.20,通过猫/proc/pid/io便可以获取进程的io信息。
linux中关于磁盘io

  

pidstat -监控并统计Linux进程的数据

  
 <代码> pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu、内存,线程,设备IO等系统资源的占用情况.pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。 
  

#个别环境需要安装
RHEL系
yum安装Ubuntu sysstat - y

apt-get安装sysstat
参数选项
- u默认的参数,显示各个进程的CPU使用统计
- r显示各个进程的内存使用统计
- d显示各个进程的IO使用情况
- p指定进程号
- w显示每个进程的上下文切换情况
- t显示选择任务的线程的统计信息外的额外信息

  

一、cpu内存统计
1,显示所有进程的cpu使用率等效于pidstat - u - p
所有linux中关于磁盘IO
1.1指定进程的cpu使用率
linux中关于磁盘IO

  

内容详解:PID:
进程ID
% usr:进程在用户空间占用cpu的百分比
%系统:进程在内核空间占用cpu的百分比
%客人:任务花费在虚拟机上的cpu使用率(运行在虚拟处理器)
% cpu:任务总cpu的使用率
cpu:正在运行这个任务的处理器编号
命令:这个任务的命令名称
2,所有进程的内存使用情况统计
linux中关于磁盘IO

  

2.1指定进程的内存使用情况统计
linux中关于磁盘IO

  

内容详解:
minflt/s:从内存中加载数据时每秒出现的次要错误的数目,这些不要求从磁盘载入内存页面
majflt/s:从内存中加载数据时每秒出现的主要错误的数目,这些要求从磁盘载入内存页面
VSZ:虚拟地址大小,虚拟内存的使用KB
RSS:长期内存使用,非交换区物理内存的使用量KB
% MEM:进程使用的物理内存百分比,大命令也会输出该字段

  
 <代码>二、进程的IO统计
  1,pidstat - d - p 1385 1 5每隔一秒,一共输出5次进程ID为1385的IO统计信息 
  

linux中关于磁盘IO

  

内容详解:
kB_rd/s:进程每秒从磁盘读取的数据量(以kB为单位)
kB_wr/s:进程每秒向磁盘写入的数据量(以kB为单位)
kB_ccwr/s:任务写入磁盘被取消的速率(kB);当任务截断脏的pagecache的时候会发生。

  

2,显示选择任务的线程的统计信息外的额外信息
linux中关于磁盘IO

  

内容详解:
TGID:主线程的标识
TID:线程ID

linux中关于磁盘IO