博客
关于我
delphi 获取当前进程的cpu占用率
阅读量:734 次
发布时间:2019-03-21

本文共 771 字,大约阅读时间需要 2 分钟。

TProcessCpuUsage类用于监控CPU使用情况,该类由两部分组成: Create方法初始化数据,Current方法返回当前CPU使用率。以下是类的详细说明:

类TProcessCpuUsage:

  • FLastUsed记录上一次使用时间
  • FLastTime记录上一次监测时间
  • FCpuCount记录CPU核心数量

class function Create:

  • 返回新实例的TProcessCpuUsage
  • 初始化FLastUsed为0
  • 初始化FLastTime为0
  • 初始化FCpuCount为0

function Current:

  • 返回当前CPU使用率(单值)
  • 获取目前系统时间ACurTime
  • 调用FileTimeToI64函数将KernelTime和UserTime转换为UInt64
  • 计算Usage总和
  • 比较FLastTime和FLastUsed,计算CPU使用率
  • 如果FLastTime>0,计算平均使用率并分配到FCpuCount
  • 否则,使用GetCPUCount获取当前CPU数量
  • 更新FLastUsed为当前Usage
  • 更新FLastTime为当前ACurTime

function GetCPUCount:

  • 调用GetSystemInfo函数获取SysInfo.dwNumberOfProcessors
  • 返回CPU核心数量

方法实现:

  • FileTimeToI64函数将TFileTime转换为Int64
  • GetSystemInfo函数获取系统信息
  • GetTickCount函数获取系统时间

注意事项:

  • 使用ProcessCpuUsage的Current值进行判断:ProcessCpuUsage.Current >=25则触发相应逻辑

该类适用于个人项目或需要轻量级CPU性能监控的场景,适合在Windows系统中使用。

转载地址:http://mfegz.baihongyu.com/

你可能感兴趣的文章
php一句话图片运行,【后端开发】php一句话图片木马怎么解析
查看>>
PHP三方登录,移动端与服务端交互
查看>>
Redis事务深入解析和使用
查看>>
PHP上传文件大小限制的调整 Nginx 413 Request Entity Too Large
查看>>
php上传文件找不到临时文件夹
查看>>
PHP下curl用法分析
查看>>
php与web服务器关系
查看>>
redis事务操作
查看>>
php中0,空,null和false的区别
查看>>
PHP中array_merge和array相加的区别分析
查看>>
PHP中Closure::bindTo的用法分析
查看>>
php中curl得使用
查看>>
PHP中curl特性
查看>>
PHP中date时间不对
查看>>
PHP中dirname(__FILE__)的意思
查看>>
PHP中extract()函数的妙用
查看>>
PHP中fileinfo的作用以及怎么开启fileinfo
查看>>
PHP中file_get_contents如何带上cookies
查看>>
PHP中header的作用
查看>>
PHP中implode()和explode()
查看>>