0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux查看IO状态的常用命令都有哪些呢?

马哥Linux运维 来源:博客园 2024-01-16 09:28 次阅读

介绍下Linux的3个常用I/O相关命令,解决I/O压力过大问题时用iostat,查看磁盘的I/O状态用iotop,查看I/O进程排名用lsof

一、iostat

iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。要想使用iostat命令,需要安装sysstat软件

[root@localhost ~]# yum -y install sysstat
[root@localhost ~]# iostat
Linux 5.14.0-162.6.1.el9_1.x86_64 (localhost.localdomain)       12/02/22        _x86_64_        (2 CPU)


avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.75    0.02    5.84    0.60    0.00   91.79


Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscd
dm-0             73.70      2078.84       358.65         0.00     162919      28107          0
dm-1              1.26        29.96         0.00         0.00       2348          0          0
nvme0n1         104.45      2809.71       385.01         0.00     220197      30173          0
sr0               1.03        40.12         0.00         0.00       3144          0          0

输出信息

avg-cpu段

%user: 用户程序占用CPU的百分比
%nice: nice操作占用CPU的百分比
%system: 系统占用CPU的百分比
%iowait: CPU等待硬件I/O时占用CPU百分比
%idle: CPU空闲时间的百分比

Device段

tps: 每秒钟I/O请求数
kB_read /s: 每秒读取的块数
kB_wrtn/s: 每秒写入的块数
kB_read: 读入的块总数
kB_wrtn: 写入的块总数

常用参数

-c 仅显示CPU统计信息,与-d互斥
-d 仅显示磁盘统计信息,与-c互斥
-k 以K为单位显示每秒的磁盘请求数,默认单位块
-p 设备名 | ALL,只显示某个设备的信息,或者全部设备
-x 输出扩展信息
sec 间隔sec秒显示一次

二、iotop

iotop用来监视磁盘 I/O 使用状况的 top 类工具,具有与 top 相似的 UI,其中包括 PID、用户、I/O、进程等相关信息。iotop不是系统自带的命令,要想使用iotop命令,需要安装iotop软件。

[root@localhost ~]# yum -y install iotop
[root@localhost ~]# iotop
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
    TID  PRIO  USER     DISK READ DISK WRITE>    COMMAND                                                                                                     
      1 be/4 root        0.00 B/s    0.00 B/s systemd --switched-root --system --deserialize 28
      2 be/4 root        0.00 B/s    0.00 B/s [kthreadd]
      3 be/4 root        0.00 B/s    0.00 B/s [rcu_gp]
      4 be/4 root        0.00 B/s    0.00 B/s [rcu_par_gp]
      5 be/4 root        0.00 B/s    0.00 B/s [netns]
      7 be/4 root        0.00 B/s    0.00 B/s [kworker/0:0H-events_highpri]
      9 be/4 root        0.00 B/s    0.00 B/s [kworker/0:1H-events_highpri]
     10 be/4 root        0.00 B/s    0.00 B/s [mm_percpu_wq]
     12 be/4 root        0.00 B/s    0.00 B/s [rcu_tasks_kthre]
     13 be/4 root        0.00 B/s    0.00 B/s [rcu_tasks_rude_]
     14 be/4 root        0.00 B/s    0.00 B/s [rcu_tasks_trace]
     15 be/4 root        0.00 B/s    0.00 B/s [ksoftirqd/0]
     16 be/4 root        0.00 B/s    0.00 B/s [rcu_preempt]
     17 be/4 root        0.00 B/s    0.00 B/s [migration/0]
     19 be/4 root        0.00 B/s    0.00 B/s [cpuhp/0]
     20 be/4 root        0.00 B/s    0.00 B/s [cpuhp/1]

通过输出结果,我们可以清楚地知晓是什么程序在读写磁盘,速度以及命令行,pid 等信息。

常用参数

-b 批量显示,无交互。主要用作记录到文件
-n NUM 显示NUM次,主要用于非交互式模式
-d SEC 间隔SEC秒显示一次
-p PID 监控的进程pid
-u USER 监控的进程用户

三、lsof

lsof(list open files)是一个列出当前系统打开文件的工具,lsof 需要访问核心内存和各种文件,所以必须以root身份执行才能充分发挥优势。lsof不是系统自带的命令,要想使用lsof命令,需要安装lsof软件。

[root@localhost ~]# yum -y install lsof
[root@localhost ~]# lsof
COMMAND    PID TID TASKCMD     USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
systemd      1                 root  cwd       DIR              253,0      235        128 /
systemd      1                 root  rtd       DIR              253,0      235        128 /
systemd      1                 root  txt       REG              253,0  1945080   67508326 /usr/lib/systemd/systemd
systemd      1                 root  mem       REG              253,0    45416   67348788 /usr/lib64/libffi.so.8.1.0
systemd      1                 root  mem       REG              253,0   153600   67348802 /usr/lib64/libgpg-error.so.0.32.0
systemd      1                 root  mem       REG              253,0    28568   67348896 /usr/lib64/libattr.so.1.1.2501
systemd      1                 root  mem       REG              253,0   102568   67348636 /usr/lib64/libz.so.1.2.11
systemd      1                 root  mem       REG              253,0    32528   67348775 /usr/lib64/libcap-ng.so.0.0.0
systemd      1                 root  mem       REG              253,0    41064   67420376 /usr/lib64/libeconf.so.0.4.1
systemd      1                 root  mem       REG              253,0   637880   67348851 /usr/lib64/libpcre2-8.so.0.11.0
systemd      1                 root  mem       REG              253,0   906176   67323555 /usr/lib64/libm.so.6
systemd      1                 root  mem       REG              253,0   178744   67348640 /usr/lib64/liblzma.so.5.2.5
systemd      1                 root  mem       REG              253,0   882384   67348653 /usr/lib64/libzstd.so.1.5.1
systemd      1                 root  mem       REG              253,0  1293840   67348792 /usr/lib64/libp11-kit.so.0.3.0
systemd      1                 root  mem       REG              253,0  4459096   67420748 /usr/lib64/libcrypto.so.3.0.1
systemd      1                 root  mem       REG              253,0   144144   67348822 /usr/lib64/liblz4.so.1.9.3
systemd      1                 root  mem       REG              253,0  1305536   67348868 /usr/lib64/libgcrypt.so.20.4.0
systemd      1                 root  mem       REG              253,0   201832   67348663 /usr/lib64/libcrypt.so.2.0.0
systemd      1                 root  mem       REG              253,0    36944   67348643 /usr/lib64/libcap.so.2.48

参数说明:

PID:进程标识符
USER:进程所有者
FD:文件描述符
TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点
NAME:打开文件的确切名称常用参数lsof abc.txt 显示开启文件abc.txt的进程

常见使用方法:

lsof -c abc 显示abc进程现在打开的文件
lsof -p 1234 列出进程号为1234的进程所打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /DIR/ 显示DIR目录下被进程打开的文件






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11219

    浏览量

    208872
  • PID
    PID
    +关注

    关注

    35

    文章

    1471

    浏览量

    85279
  • 磁盘
    +关注

    关注

    1

    文章

    365

    浏览量

    25174

原文标题:Linux 查看IO状态的常用命令

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux常用命令汇总

    本篇文章一个介绍了约40个Linux常用命令,这些命令也正是Linux入门的精髓之处,所以,对于这些命令一定要多加练习,熟练掌握,那么以后你
    发表于 10-25 15:08 666次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>常用命令</b>汇总

    linux常用命令

    linux常用命令
    发表于 08-20 22:53

    Linux常用命令

    Linux常用命令
    发表于 05-08 14:39

    linux常用命令

    linux常用命令集 名称:cal使用权限:所有使用者使用方式:cal [-mjy] [month [year]]说明:显示日历。若只有一个参数,则代表年份(1-9999),显
    发表于 01-18 12:45 844次阅读

    嵌入式Linux常用命令

    嵌入式Linux常用命令,比较基础,非常实用,适合新手学习。
    发表于 11-24 15:22 3次下载

    Ubuntu常用命令大全

    Ubuntu常用命令大全,包括常用管理目录,系统命令,硬盘相关,内存相关,查看进程等命令
    发表于 01-06 11:16 0次下载

    Linux终端常用命令大全

    Linux终端常用命令大全,通俗易懂,容易上手。包含所有命令,方便查找各个指令功能。
    发表于 04-28 16:30 15次下载

    vim常用命令

    vim常用命令
    发表于 01-08 15:59 3次下载

    Linux常用命令的全拼整理

    本文整理了常用命令的全拼,好像混进了什么奇怪的东西。
    的头像 发表于 10-10 17:19 4641次阅读

    Linux教程之Linux常用命令大全

    Linux教程之Linux常用命令大全
    的头像 发表于 03-30 10:34 5645次阅读

    linux常用命令手册

    linux常用命令手册免费下载。
    发表于 06-01 14:59 68次下载

    linux常用命令大全

    linux常用命令大全,一些常用命令都可以找到
    发表于 03-03 09:20 0次下载

    Linux常用命令

    Linux常用命令
    的头像 发表于 01-12 11:19 1116次阅读

    Linux常用命令手册分享

    linux常用命令合集
    发表于 04-26 11:46 1次下载

    linux常用命令及用法

    Linux是一种开源的操作系统,它以稳定、高效和安全的特点受到广大用户的喜爱。掌握Linux常用命令及其用法对于操作系统的管理和开发都至关重要。本文将详尽、详实、细致地介绍Linux
    的头像 发表于 11-17 09:47 621次阅读