0

我正在编写一个脚本来被动监视我计算机上的资源使用情况。我想监控磁盘和网络 IO、CPU 和 RAM 的使用情况。它工作正常。我现在正试图将这些信息解析为更易于阅读的输出。我使用 psutil for python 2.7 来收集资源信息。我现在正在尝试解析每秒的磁盘使用情况。我想我只会计算每秒之间的读写差异来计算每秒的使用量。但是我不确定 psutil 用于 IO 计数器的测量单位。这是 psutil 的输出示例。

{'PhysicalDrive1': iostat", "read_count=379172, write_count=1688031, read_bytes=11142501376L, write_bytes=84719621632L, read_time=1280719510L, write_time=3614153510L), 'PhysicalDrive0': iostat", "read_count=481, write_count=0, read_bytes=1713152L, write_bytes=0L, read_time=6110L, write_time=0L), 'PhysicalDrive3': iostat", "read_count=105, write_count=42, read_bytes=377344L, write_bytes=24576L, read_time=137740L, write_time=35020L), 'PhysicalDrive2': iostat", 'read_count=646025, write_count=924922, read_bytes=14357518848L, write_bytes=17206760448L, read_time=146876820L, write_time=80879980L)}

我看到它提到了 iostat,我相信它也是 linux 中用于监视磁盘使用情况的程序。任何人,我马上就看到了 read_count 和 write_count。很好,但是测量单位是什么?磁盘扇区?知识库?不知道怎么算。在那之后,我有了 read_bytes 和 write_bytes,我假设度量单位是字节,但每个数字后跟一个大写 L。这是什么意思?只是想弄清楚 psutil 数字到底向我展示了什么 :) 谢谢!

4

1 回答 1

2

根据psutils 文档

以命名元组的形式返回系统磁盘 I/O 统计信息,包括以下属性:

  • read_count:读取次数
  • write_count:写入次数
  • read_bytes:读取的字节数
  • write_bytes:写入的字节数
  • read_time:从磁盘读取所花费的时间(以毫秒为单位)
  • write_time:写入磁盘所花费的时间(以毫秒为单位)

Python 中的Lwhen 前面有一个整数表示该数字是Python Long类型,它是一个精度不受限制的整数(与标准 Python Int 类型相反,后者是在 C long 类型上实现的至少 32 位精度整数(实际精度可以从sys.maxint.bit_length()))。

于 2013-06-05T17:06:49.600 回答