Linux 查找占用磁盘IO读写很高的进程方法

Linux 查找占用磁盘IO读写很高的进程方法,第1张

通过 iostat -x 1 10 查看相关磁盘使用信息

相关截图如下:

1 # 如果没有 iostat 命令,那么使用 yum install sysstat 进行安装

2 # iostat -x 1 10

通过 iotop 命令

如果没有该命令,请通过 yum install iotop 进行安装。

# iotop -oP 通过这个命令可以看见比较详细信息,如:进程号,磁盘读取量,磁盘写入量,IO百分比,涉及到的命令是什么「两个都是 grep 命令造成的IO读取量大」。Linux 查找占用磁盘IO读写命令 iotop

通过 pidstat 命令

1 # 命令的含义:展示I/O统计,每秒更新一次

2 # pidstat -d 1

SystemIODriveInfo[] allDrives = SystemIODriveInfoGetDrives();可以获取所有磁盘的信息。 其中 allDrives[0]Name 就是第一个磁盘的名称

使用Python获取电脑的磁盘信息需要借助于第三方的模块psutil,这个模块需要自己安装,纯粹的CPython下面不具备这个功能。

在iPython交互界面中进行如下演示:

查看电脑的磁盘分区:

In [1]: import psutil

In [2]: psutildisk_partitions()

Out[2]: [sdiskpart(device='/dev/disk2', mountpoint='/', fstype='hfs', opts='rw,local,rootfs,dovolfs,journaled,multilabel')]

In [3]: len(psutildisk_partitions())

Out[3]: 1

从上面的结果看出,电脑只有一个分区。针对最后的结果专门通过判断字典的元素个数来确认了一下。

查看电脑的磁盘使用百分比:

In [4]: psutildisk_usage('/')

Out[4]: sdiskusage(total=1114478608384, used=305497878528, free=808718585856, percent=274)

相对来说还好,新电脑使用时间还不是很长,硬盘暂时还没有塞满。总共用了大约274%。

查看电脑磁盘的IO计数:

In [5]: psutildisk_io_counters()

Out[5]: sdiskio(read_count=112237L, write_count=99750L, read_bytes=5243863040L, write_bytes=7047483392L, read_time=80568L, write_time=138699L)

In [7]: psutildisk_io_counters(perdisk=True)

Out[7]:

{'disk0': sdiskio(read_count=103533L, write_count=86260L, read_bytes=5120090624L, write_bytes=4813373440L, read_time=29774L, write_time=27654L),

'disk1': sdiskio(read_count=8740L, write_count=13723L, read_bytes=124141056L, write_bytes=2237206528L, read_time=50840L, write_time=111871L)}

上面分别使用了两种方式,第一种方式是获取磁盘总的IO信息,第二种是查看电脑分区的磁盘信息。从结果上来看,信息的统计不是按照逻辑分区来统计的,而是按照物理磁盘来统计的。我的电脑上正好是有两块磁盘,一块机械硬盘还有一块固态硬盘,其实这个按照物理磁盘进行统计的说法是根据这个推断出来的。

IO实际上是计算机用语,也写作I/O,指输入/输出(Input/Output)。硬盘IO就是指对字节的读取速度,即硬盘的读写能力。

扩展资料

I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分。在POSIX兼容的`系统上,例如Linux系统,I/O *** 作可以有多种方式,比如DIO(DirectI/O),AIO(AsynchronousI/O,异步I/O),Memory-MappedI/O(内存映射I/O)等,不同的I/O方式有不同的实现方式和性能,在不同的应用中可以按情况选择不同的I/O方式。

以上就是关于Linux 查找占用磁盘IO读写很高的进程方法全部的内容,包括:Linux 查找占用磁盘IO读写很高的进程方法、如何用C#获取磁盘名称、如何用python实现获取计算机上的硬盘名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9438568.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存