我已经写其上运行作为(在OSX)一个cron计划任务在PHP的图像处理脚本。为了避免过载系统中,脚本检查系统负载(使用“运行时间”)并且仅当负载低于预定阈值运行。

我现在已经移植这种过度到Windows(2003服务器),并正在寻找一个类似的命令行功能报告系统负载为整数或浮点数。

有帮助吗?

解决方案

您可以在Windows命令行试试这个。这个工程在XP中,得到了很多其他的信息了。

WMIC CPU

其他提示

不要使用负载...

在系统负载不是在这种情况下的良好指标。在Unix它本质上是告诉你,有多少进程是准备和等待的时刻执行。但是,因为有无数的理由,为什么一个进程可能不得不等待,你的脚本可能实际上是能够在不花费另一个进程的任何性能运行,即使系统上的“负荷”是高的。

...用漂亮

您应该使用在Unix nice(1)和Windows(“进程优先级”?)等同,所以OS可以决定,当运行脚本!

如果您在脚本的优先级设置的绝对最低的优先级,然后它只会被调度时,有没有其他的时刻做执行。

也许你将不得不实行某种机制,以防止脚本的多个实例在同一时间运行的,在情况下,它需要更长的时间比间隔调用之间执行持续。

可以使用一种称为 PV 命令行实用程序来显示的进程名使用此命令行,在特定的时间段和CPU使用率%(默认为500毫秒):

pve.exe -o"%n\t%c"

有是一种使用描述了可用的参数的-?开关帮助。

这将需要比OSX / Linux的运行时间多一点的工作,因为你将不得不共有来自第一列中的数字(或省略的进程名,并简单地总价值形态输出的每一行)获得总(单位:%)的CPU使用率。

在了一边是多一点的工作,你可以让你的执行过程中使用,而不是整个系统的CPU占用CPU的具体金额。

WMI基准几乎所有在Windows中,包括系统负载。

我发现一个关于它的线程。

只要使用标准的Win32 API(GTC)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top