博客
关于我
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/

你可能感兴趣的文章
MySQL5.7.18主从复制搭建(一主一从)
查看>>
MySQL5.7.19-win64安装启动
查看>>
mysql5.7性能调优my.ini
查看>>
Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
查看>>
Mysql5.7版本单机版my.cnf配置文件
查看>>
mysql5.7的安装和Navicat的安装
查看>>
mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
查看>>
MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
查看>>
MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看>>
MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
查看>>
mysql8的安装与卸载
查看>>
mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
查看>>
mysqldump 导出中文乱码
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>
mysqlreport分析工具详解
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>