-
-
[旧帖]
[求助]如何控制进程的IO每秒读写的字节数(bps:bytes per second)
0.00雪花
-
发表于:
2011-10-13 13:32
1097
-
[旧帖] [求助]如何控制进程的IO每秒读写的字节数(bps:bytes per second)
0.00雪花
Linux上有cgroups可以针对进程对具体设备(譬如磁盘)设置每秒读写的字节数,也就是blkio.throttle.read_bps_device
(
a3dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3#2B7L8i4N6A6M7X3g2V1i4K6u0W2L8X3g2@1i4K6u0r3K9$3g2J5L8X3g2D9i4K6u0r3c8r3!0U0N6h3#2W2L8Y4c8S2N6r3W2G2L8W2)9J5c8X3y4Y4M7X3!0#2M7s2y4Q4x3V1k6T1L8r3E0A6L8#2)9J5k6r3y4G2L8Y4c8J5L8$3I4D9k6i4u0Q4x3X3g2@1P5s2c8Q4x3U0V1`.
Windows(或Windows Server上)上是否也有类似的机制或者工具?
自己研究了一番:
1. 查看了下Windows Server上的System Resource Manager,只能针对进程设置内存和cpu使用,没有I/O的控制机制
2. Windows的Job机制,也只有针对内存和cpu的设置,也没有I/O机制,但是可以查询进程的IOCounter
3. nt.dll中未公开的函数NtSetInformationProcess可能可以设置IOCounter(暂时没试验过,因为不满足我的需求),但是IOCounter只能控制总量,不能设置每秒读写的字节数。
4. 据说vista版本后有一个SetFileBandwithReservation函数可以控制文件的IO带宽,但google了一下,除了一篇文章讲述vista kernel 新功能时提到了一下,其他地方(包括msdn等)都无任何提及
现在我想到的思路只剩下一个了,只有通过写一个文件驱动filter,针对进程的做bps的限制。大家有没有啥思路或者工具?
[培训]传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!