提高软件CPU占用率

article/2025/10/8 6:17:18

案例:

独立线程以5ms一包的速率接收指令(一共大概70-80种指令类型),并放入一个队列A

主线程中,根据定时器去队列A中取数据,并解析/计算/显示(速率:200包/秒)

现象:按理说这个收/发的频率是能保持平衡的,也就是收多少就处理多少,延迟会很小(可能就是一个指令的传输时间),但是实际现象是,随着时间的推移,队列A越来越大。

发现:调试的时候发现是处理数据的时候,判断数据包类型,并进行解析模块比较费时间(注释掉这块内容就不存在延迟了)。因此排除了代码本身的问题;

代码没问题,那就只能从设备方下手

解决方案:提高软件的优先级,让CPU优先处理我这个软件的计算处理

//REALTIME_PRIORITY_CLASS  实时//HIGH_PRIORITY_CLASS      高//ABOVE_NORMAL_PRIORITY_CLASS 高于正常//NORMAL_PRIORITY_CLASS  正常//BELOW_NORMAL_PRIORITY_CLASS 低于正常//IDLE_PRIORITY_CLASS 空闲GetCurrentProcess():当前软件进程int main(int argc, char *argv[])
{SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS );
}

查看进程的当前CPU优先级:

任务管理器-鼠标右键(软件进程)-转到详细详细-鼠标右键(软件进程)-设置进程优先级

 然后,你启动软件的时候就会发现,应用程序优先级,由默认的正常,改成了你需要的!


http://chatgpt.dhexx.cn/article/JeFkvkpe.shtml

相关文章

CPU使用率100%,如何解决

文章目录 CPU使用率概念CPU使用率的重要指标计算公式 查看CPU使用率CPU 使用率过高总结 CPU使用率 概念 单位时间内CPU使用情况的统计,以百分比方式显示 Linux是一个多任务操作系统,将每个CPU的时间划分为很短的时间片,通过调度器轮流分配…

解决 服务器cpu使用率100%,变成矿鸡之我与病毒crypto斗智斗勇,宝塔面板cpu使用率100%爆红

关于 简单解决宝塔面板显示CPU使用率 100%,但top却没找到相关进程这件事!!! 如图: 作为一个小白,我只是想简单的搭建一个个人网站,结果碰到这个闹心的事。 服务器: 阿里云服务器 面板&#xff…

linux的mysql占用cpu过高_关于在Linux环境下,Mysql占用CPU使用率100%的优化

今天使用 MobaXterml 连接上一台物联网的Linux服务器的使用,发现该服务器的CPU使用率一直在100%左右。 使用top 命令发现Mysql占用了大量的CPU 用数据库工具 Navicat premium 以 root 的身份连接数据库,执行查询语句: show PROCESSLIST; 发现…

CPU使用率到100%,有哪些因素影响?

关注星标公众号,不错过精彩内容 转自 | 涛哥依旧 最近,一位同事急匆匆跑过来跟我说:糟糕了,服务器CPU的使用率达100%了。 我心想不可能啊,CPU有那么多核,怎会跑满?于是看了一眼,结果…

记一次golang cpu 占用100%

最近重新部署了下测试服务器,发现其负载达到了4.*, cpu 使用率达到了100%,吓的瑟瑟发抖,马上起来查看情况。 1, 想到了使用go性能查看工具: pprof,因为项目是用gin开发的,所在直接安…

Mysql CPU占用100%查询

这几天每天都会收到服务器负载报警,抽出时间查看一下原因。 进入到服务器使用top命令查看: 能够看到是mysql常年霸居榜首,导致服务器负载变高。理论上来讲,数据量没有那么大,因为很多数据都是没用的,前一段…

【故障排查】如何排查CPU占用100%

线上后台报警CPU占用100%,CPU占用过高,本文介绍一下如何排查CPU占用过高原因。 步骤1. top 输入top命令,找到占用CPU最高的进程。按ShiftP键排序: 可以看到CPU占用最高的pid是92129。 步骤2. top -Hp pid 查看指定进程内线程信…

vmware虚拟机WinXp sp3的系统cpu占用100%的解决方案

0x00 问题场景 1. 环境配置 角色版本位数备注虚拟机软件VMware Workstation15\原始版本12,升到15Host OSWindows 7 Professional6.1.7601, Service Pack 164-bit\Guest OSWindows XPservice Pack 332 bit\ 2. 环境说明 VMware在很久以前是version12,…

Win10环境VMware开WinXP虚拟机CPU占用100%

解决办法 网上试了各种方法,还是不太行,最后莫名其妙的好了。而这之前我只做了一件事,在windows的功能里打开hyper-V服务。 后续 某一天,windows系统自动更新了,然后本来运行得好好的win xp虚拟机变得巨卡。我在w…

IDEACPU占用100%_卡顿 解决办法

解决IDEA占用CPU100%的问题 直接上答案为什么会占用CPU如何查找占用CPU的原因 直接上答案 绝大部分的原因是你打开了一个有非常非常多的代码的类,并且你并不编辑这个类,你只是打开了。。。 当然,如果不是这样,你才能去排查是不是…

linux的cpu使用率100%?

1:背景 在linux环境中,我们都会通过top指令获取当前实例的进场占用cpu情况,如下所示 [123456789root ~]$ top top - 11:48:13 up 622 days, 15:51, 2 users, load average: 0.22, 0.19, 0.11 Tasks: 788 total, 1 running, 787 sleepin…

【最实用实战】如何排查CPU占用100%

线上后台报警CPU占用100%,CPU占用过高,本文介绍一下如何排查CPU占用过高原因。 步骤1. top 输入top命令,找到占用CPU最高的进程。按ShiftP键排序: 可以看到CPU占用最高的pid是92129。 步骤2. top -Hp pid 查看指定进程内线程信…

虚拟机CPU占用100%问题记录

项目场景 kswapd0占用CPU过高,严重影响服务器及虚拟机的使用。 原因分析 kswapd0 是 Linux 系统虚拟内存管理中负责换页的进程。 系统物理内存不足时,kswapd0 会频繁的进行换页操作(使用swap分区与内存换页操作交换数据)&…

linux cpu占用100%排查

步骤一、找到最耗CPU的进程 工具:top 方法: 执行top -c ,显示进程运行信息列表键入P (大写p),进程按照CPU使用率排序图示: 线上服务CPU100%问题快速定位实战 如上图,最耗CPU的进程PID为10765 步骤二&…

揭秘win10系统CPU占用100%的真正原因/找出那些罪魁祸首

经常会有 Win10 用户反应,电脑没有运行太多程序,但是在任务管理器中,经常可以看到电脑CPU占用率却一直居高不下。那么,CPU占用100%的正真原因是什么呢?下面小编收集了一些针对CPU占用过高的原因及解决办法&#xff0…

CPU占用100%的原因及解决办法

电脑关机故障速解 经常出现cPU占用100%的情况,主要问题可能发生在下面的某些方面: cPU占用率高的九种可能 1、防杀毒软件造成故障 由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理…

前端请求SDK_前端埋点:质量指标验证

背景 随着万物互联、线上线下结合,终端触达的面越来越广,数据采集应该是企业数据团队最基础和重要的工作之一。做数据的同学应该深有体会,收集的数据内容是否全面、准确、实时,直接影响到数据处理和计算的成本、分析和应用的准确。…

前端埋点方案研究及在Android项目中的实践

前言 数据埋点的质量直接关系到前端监控、数据分析结果的准确性,对应用的用户行为分析、数据分析决策、数据化运营、错误分析来说都是基础的存在,在前端监控与数据分析中是第一个重要的步骤。中本文聚焦于目前主流埋点方案的探究,以及其在An…

前端监控和前端埋点方案设计

在线上项目中,需要统计产品中用户行为和使用情况,从而可以从用户和产品的角度去了解用户群体,从而升级和迭代产品,使其更加贴近用户。用户行为数据可以通过前端数据监控的方式获得,除此之外,前端还需要实现性能监控和异…

903前端埋点 springboot

显示用户偏好效果 ajax代码效果 accessrandomfile 创建springboot工程 spring:datasource:driver-class-name: oracle.jdbc.driver.OracleDriverurl: jdbc:oracle:thin:192.168.100.151:1521:orclusername: cmpassword: okmybatis:mapper-locations: classpath*:mapper/*.xmlty…