Skip to main content

CPUUsage 对象

🌐 CPUUsage Object

  • percentCPUUsage number - 自上次调用返回此对象的 API 以来使用的 CPU 百分比。第一次调用返回 0。
  • cumulativeCPUUsage number(optional)- 自进程启动以来使用的CPU时间总秒数。
  • idleWakeupsPerSecond number - 自上次调用返回此对象的 API 以来,每秒平均空闲 CPU 唤醒次数。第一次调用返回 0。在 Windows 上总是返回 0。

percentCPUUsageidleWakeupsPerSecond 都是平均值,而不是即时样本,而且每次调用都会开启一个新的测量周期。

🌐 Both percentCPUUsage and idleWakeupsPerSecond are averages rather than instant samples, and each call starts a fresh measurement interval.

多个 API 会返回 CPUUsage 对象,每个对象都跟踪自己的间隔:

🌐 Multiple APIs return CPUUsage objects, and each tracks its own intervals:

  • process.getCPUUsage() 测量它所在的进程。只有在同一个进程中对 process.getCPUUsage() 的调用会重置它的间隔。
  • app.getAppMetrics() 测量应用中的每个进程,就像每个 ProcessMetriccpu 属性一样。它为每个进程 ID 保留一个单独的间隔,而且一次调用会同时重置它们所有,因为一次调用会报告所有进程的信息。
note

每个 API 的测量间隔都是独立的。调用 process.getCPUUsage() 不会改变 app.getAppMetrics() 的报告,反之亦然。因此,主进程可以在同一时刻通过每个 API 报告不同的 percentCPUUsage 值。

note

如果你的应用的某个依赖调用了这些函数之一,它将在你读取之前启动一个新的间隔。要测量你自己控制的间隔,请改用 cumulativeCPUUsage。将较早的读数从较晚的读数中减去即可获得该时间段的使用情况。但读取它仍然意味着调用 app.getAppMetrics()process.getCPUUsage(),这会为其他所有人启动一个新的间隔。