繁体   English   中英

相当于硬盘扫描的CPU消耗

[英]CPU consumption equivalent for harddisk scanning

我希望扫描磁盘结构的软件在后台运行,但是降低扫描磁盘结构的线程的优先级不起作用。 我的意思是,即使您的程序仅消耗处理器时间的1%,您仍会感到计算机工作困难甚至冻结。 是否可以在Win32中实现等同于CPU消耗的“硬盘时间消耗”

从Vista开始,您可以降低IO优先级,该优先级与CPU优先级是分开的。 http://msdn.microsoft.com/en-us/library/ms686219(VS.85).aspx

SetPriorityClass(GetCurrentProcess(), PROCESS_MODE_BACKGROUND_BEGIN)

对于XP,2003和更早版本的XP,您必须找到其他限制磁盘活动的方法,例如经常使用Sleep()。

磁盘访问通常通过每秒几个不同的指标传输(可以细分为读/写)和每秒读取或写入的数据来衡量。 如果要限制磁盘扫描应用程序的影响,执行此操作的一种方法是跟踪这些指标中的一个(或两个),确定合理的上限并在一段时间内定期使线程休眠。 除了最透明,最间接的方式之外,您对CPU调度所做的任何事情都无法有效地完成此任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM