linux中关于磁盘IO

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

 1、显示占用文件的进程

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

 2、显示指定进程所打开的文件


3、显示指定进程号所打开的文件


4、监听指定协议、端口和主机等信息,显示符合条件的进程信息
4.1查看所有进程

4.2显示所有tcp网络连接的进程信息

4.3显示端口为22的进程 **

5、显示指定用户占用的文件

6、显示所有socket文件

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

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

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

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

一、cpu、内存统计
    1、显示所有进程的CPU使用率  等效于 pidstat -u -p ALL


1.1 指定进程的CPU使用率

内容详解:

PID:进程ID
%usr:进程在用户空间占用cpu的百分比
%system:进程在内核空间占用cpu的百分比
%guest:任务花费在虚拟机上的CPU使用率(运行在虚拟处理器)
%CPU:任务总的CPU使用率
CPU:正在运行这个任务的处理器编号
Command:这个任务的命令名称
2、所有进程的内存使用情况统计

2.1指定进程的内存使用情况统计

内容详解:

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

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

内容详解:

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

2、显示选择任务的线程的统计信息外的额外信息

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

原文地址:https://blog.51cto.com/14013172/2459233

时间: 2024-08-29 20:48:02

linux中关于磁盘IO的相关文章

如何在 Linux 中整理磁盘碎片

有一个神话是 linux 的磁盘从来不需要整理碎片.在大多数情况下这是真的,大多数因为是使用的是优秀的日志文件系统(ext3.4等等)来处理文件系统.然而,在一些特殊情况下,碎片仍旧会产生.如果正巧发生在你身上,解决方法很简单. 什么是磁盘碎片 文件系统会按块更新文件,如果这些块没有连成一整块而是分布在磁盘的各个角落中时,就会形成磁盘碎片.这对于 FAT 和 FAT32 文件系统而言是这样的.在 NTFS 中这种情况有所减轻,但在 Linux(extX)中却几乎不会发生.下面是原因: 在像 FA

Linux中的磁盘管理

Linux中的磁盘管理 Linux中磁盘管理的学习主要分为3个部分: 分区 格式化 挂载 一.磁盘结构 硬盘是计算机常用的存储设备之一,本章将介绍硬盘的基本知识. 硬盘的物流结构 盘片:磁盘有多个盘片,每盘片2面 磁头:每面一个磁头 硬盘的数据结构 硬盘的数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据 磁道:同一盘片不同半径的同心圆 柱面:不同盘片相同半径构成的圆柱面 硬盘存储容量 硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数例如:磁盘是一个 3个圆盘6个

Linux中的磁盘概述

Linux中将磁盘和分区光驱等设备表示为文件 /dev/sda5 /dev为设备文件存放目录 sd表示为usb.stata.scsi.sas接口磁盘设备 a表试第一个硬盘 第二个为b 5表试第一个逻辑分区 1 2 3 4 分别代表四个主分区 EXT4:第四代扩展文件系统,用于数据的存储 SWAP:交换文件系统,作用类似于虚拟内存 Linux中可以使用fdisk分区工具对分区进行管理 磁盘配额quota 管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间. 对

linux 下查看磁盘IO状态

from:脚本之家 linux 查看磁盘IO状态操作 作者:佚名 字体:[增加 减小] 来源:互联网 时间:11-15 15:13:44我要评论 Linux系统出现了性能问题,一般我们可以通过top.iostat,vmstat等命令来查看初步定位问题.其中iostat可以给我们提供丰富的IO状态数据 Linux系统出现了性能问题,一般我们可以通过top.iostat,vmstat等命令来查看初步定位问题.其中iostat可以给我们提供丰富的IO状态数据. www.jb51.net iostat结

Linux中的磁盘

Linux的磁盘管理 (很重要请注意高能预警) 硬盘:几个盘片,双面,磁性颗粒, 处理速率不同步:借助于一个中间层 文件系统(FileSystem)     可以实现对磁盘行的文件进行读写     文件系统其实就是一个特殊软件,是直接安装到硬盘上的 硬盘分类     机械硬盘:         盘片组,磁头,磁头臂         马达.空气过滤片     固态硬盘         类似与内存的结构 机械硬盘简介     磁道(Track):磁盘旋转时候的同心圆,磁道编号从外向内,从0开始编号.

Linux中的文件IO

一.应用框架介绍     1.什么是应用编程 (1)典型的嵌入式产品就是基于嵌入式Linux操作系统来工作的.研发过程:第一步让Linux系统在硬件上跑起来(系统移植工作),第二步基于Linux系统来开发应用程序实现产品功能. (2)基于Linux去做应用编程,其实就是通过调用Linux的系统API来实现应用需要完成的任务. 2.什么是文件的IO 文件的input和output,就是读写文件. 二.文件操作的主要接口API 1.什么是操作系统API (1)API是一些函数,这些函数是有Linux

linux中的磁盘的MBR记录详解

在硬盘中,硬盘的0柱面0磁头第一个1扇区称为主引导扇区,也叫主引导记录-MBR(main boot record),其中MBR是以下三个部分组成 1.Bootloader,主引导程序---446个字节 2.Dpt(Disk Partition table),硬盘分区表---64个字节 3.扇区结尾标志(55aa)--2个字节 总共512字节,前446个字节是主引导记录,是bios加电自检后要运行的代码,中间64字节为分区表. 简单的来说MBR=bootloader+dpt(64)+结尾标志(55

Linux中的系统IO函数

一.整体大纲 二. 系统IO函数1. 一些概念    文件描述符     PCB     C库函的IO缓冲区 1) 文件描述符            int 类型            一个进程最多可打开多少文件     2) pcb           进程控制块           在其中有一个文件描述符表 -- 数组[1024] C库IO函数工作流程: pcb和文件描述符: 2. 虚拟地址空间 虚拟地址空间就是程序启动起来之后从硬盘上会有一块虚拟内存分配出来. cpu 为什么要使用虚拟地址

Linux中设置磁盘配额和RAID

第一篇:设置磁盘配额 综述 在内核中执行 以文件系统为单位启用 对不同组或者用户的策略不同 根据块或者节点进行限制 执行软限制(soft limit) 硬限制(hard limit) 初始化 分区挂载选项:usrquota.grpquota 初始化数据库:quotacheck 执行 开启或者取消配额:quotaon.quotaoff 直接编辑配额:edquota username 在shell中直接编辑: setquota usename 4096 5120 40 50 /foo 定义原始标准用