Windows 操作系统提供 JobObject 来限制进程的 cpu 使用,但我想知道 cpu 部分是否考虑了内核空间 cpu 使用,或者它只是用户空间 cpu 使用?文件没有提供任何线索。
Windows 作业对象可以限制进程的用户模式和内核模式 CPU 使用率。当进程调用转换到内核模式的系统函数时,该进程使用的内核模式 CPU 时间也计入其总体 CPU 使用率。
根据 Microsoft 的文档,当您使用作业对象设置 CPU 速率限制时,它适用于“与进程关联的用户模式 CPU 时间和内核模式 CPU 时间”。因此,该限制适用于用户模式和内核模式 CPU 使用率。
需要注意的是,使用作业对象设置 CPU 速率限制并不是限制 CPU 使用率的精确方法,因为它依赖于统计采样和 CPU 时间测量的准确性。在某些情况下,由于系统负载和上下文切换等因素,进程的实际CPU使用率可能会超过Job Object设置的限制。