是否可以使用 top 和 ps 命令获取每个进程的磁盘使用情况?

是否可以使用 top 和 ps 命令获取每个进程的磁盘使用情况?

我试图找出是否可以在终端中使用上述命令来获取磁盘使用情况,但没有运气。有人可以帮忙吗?如果没有,那么是否有其他命令可以用来执行与 top/ ps 相同的操作,但与磁盘使用情况相同?

谢谢

答案1

这里的磁盘使用有两个含义。

磁盘空间使用情况由dudf命令汇总。该df命令总结了已安装分区的总磁盘大小、使用情况和可用空间。该du命令按目录和文件汇总磁盘使用总量。

可以使用和等工具显示一定时间间隔内的磁盘 I/O 带宽使用iostat情况atop

iostat命令显示每个磁盘上的总实时磁盘活动。默认情况下,它显示自启动以来的平均值,但也可以指定一个时间间隔并显示该间隔期间发生的情况。

atop命令还将显示与 iostat 显示类似的统计信息,但如果以 root 身份运行disk 模式(按d),将按进程显示磁盘 I/O 利用率。

请注意,进程的磁盘空间利用率没有意义,因为进程不使用磁盘空间,文件却使用。进程的磁盘空间意味着什么?您的意思是可执行文件的大小吗?可执行文件和共享库的大小?打开文件的大小?这些文件都不属于单个进程,而是在使用这些文件的所有进程之间共享。磁盘块读取和写入可作为统计数据使用,但与使用的磁盘空间关系不大或没有关系,因为同一块可以多次读取和写入,并且此统计数据还包括来自交换和请求分页的 I/O。

相关内容