程序开发性能调优之如何降低CPU使用率。

2023-11-07

单核的CUP就100%!双核的就60%!这谁受的了。咋调都不行。我把所有的效果都关了,还不行!连声音都关了,就剩个窗口模式了!他照样100%!咋整啊?
改用静态的方式的确是能够大大降低数据库的存取频率,进而降低CPU的使用率.
依你所表述的情况来看,应该是你的ASP+ACCESS的代码不是最优化的问题,不过具体怎么优化我也不知道.因为你动态的数据库,每次访问,查看某一条新闻,就要存取一次数据库,这样无疑对你的虚拟主机是一种负荷...每天
日流量150左右估计都应付不过来:)
 
是否意味40%以下就算正常呢?
 
我发现在循环中加入适当延迟。可以大幅降低CPU使用。
http://jingyan.baidu.com/article/a3761b2b6168151576f9aac7.html
   CPU使用率其实就是你运行的程序占用的CPU资源,表示你的机器在某个时间点的运行程序的情况。使用率越高,说明你的机器在这个时间上运行了很多程序,反之较少。使用率的高低与你的CPU强弱有直接关系。现代分时多任务操作系统对 CPU 都是分时间片使用的:比如A进程占用10ms,然后B进程占用30ms,然后空闲60ms,再又是A进程占10ms,B进程占30ms,空闲60ms;如果在一段时间内都是如此,那么这段时间内的占用率为40%。CPU对线程的响应并不是连续的,通常会在一段时间后自动中断线程。未响应的线程增加,就会不断加大CPU的占用。

       那么该如何降低程序CPU使用率呢?下面跟着我一起操作吧!

工具/原料

  • 任务管理器

  • CPU使用率

  • ​CMD命令行

方法/步骤

  1. 我们可以通过减少开机启动项来减少CPU使用率:

    点击开始,运行CMD命令行,敲入msconfig,点击启动,关闭不必要的启动项,重启即可生效,(通常情况下,修改启动项对启动时间影响比较大,而对CPU使用的情况,也一般只是在开机影响比较大。)

  2. CPU使用率占用过高时:我们可以通过查看“svchost”进程来了解使用率过高的原因。

    svchost.exe是Windows XP系统的一个核心进程。svchost.exe不单单只出现在Windows XP中,在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个,而在Windows XP中svchost.exe进程的数目就上升到了4个及4个以上。

  3. 鼠标右键也可能会引起CPU占用100%(出现征兆):

      在资源管理器里面,当你右键点击一个目录或一个文件,你将有可能出现下面所列问题:

      任何文件的拷贝操作在那个时间将有可能停止响应

      网络连接速度将显著性的降低

      所有的流输入/输出操作例如使用Windows Media Player听音乐将有可能是音乐失真成因:

      当你在资源管理器里面右键点击一个文件或目录的时候,当快捷菜单显示的时候,CPU占用率将增加到100%,当你关闭快捷菜单的时候才返回正常水平。

  4. 解决方法很简单,关闭“为菜单和工具提示使用过渡效果”即可:

    点击“开始”--“控制面板”,在“控制面板”里面双击“显示”,在“显示”属性里面点击“外观”标签页,在“外观”标签页里面点击“效果”,在“效果”对话框里面,清除“为菜单和工具提示使用过渡效果”前面的复选框接着点击两次“确定”按钮。

    另一种方法是:在使用鼠标右键点击文件或目录的时候先使用鼠标左键选择你的目标文件或目录。然后再使用鼠标右键弹出快捷菜单。

  5. 默认安装完Windows 系统后,系统会开启很多服务,其中不少对于普通用户根本用不到或暂时用不到,反而浪费了相当多的内存和系统资源,特别是内存,影响了系统启动和运行的速度。

    禁止所有不必要的服务可以为您节省n多的内存和大量系统资源.

    在 “开始” 的 “运行” 中 输入: services.msc

  6. 进入系统自带服务修改列表 可以选择关闭,手动,还是自动: 默认设置是跟windows一起启动。 手动为需要时它自行启动。 关闭为永远不启动。

  7. 查看网络连接(网卡原因):

    当安装了Windows XP的计算机做服务器的时候,收到端口 445 上的连接请求时,它将分配内存和少量地调配 CPU资源来为这些连接提供服务。当负荷过重的时候,CPU占用率可能过高,这是因为在工作项的数目和响应能力之间存在固有的权衡关系。你要确定合适的 MaxWorkItems 设置以提高系统响应能力。如果设置的值不正确,服务器的响应能力可能会受到影响,或者某个用户独占太多系统资源。

  8. 要解决此问题,我们可以通过修改注册表来解决:在注册表编辑器中依次展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver ]分支,在右侧窗口中新建一个名为“maxworkitems”的DWORD值。然后双击该值,在打开的窗口中键入下列数值并保存退出:

    如果计算机有512MB以上的内存,键入“1024”;如果计算机内存小于512 MB,键入“256”。

  9. 忘了提醒大家,那么该如何进入注册表呢?接着下图中的第三个命令,首先还是找到电脑中的命令行,然后敲入regedit即可,如下图所示:

  10. 还有些诸于驱动,病毒类的原因,大家可以尝试着自己解决,这类原因安装官方驱动,使用杀毒软件即可解决,这里不做獒述!

    驱动没有经过认证大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因

    计算机病毒在系统内部迅速复制,造成CPU占用资源率据高不下,使用杀毒软件查杀即可。

    如果驱动出现问题,大家可以在设备管理器中查看。

用多线程,大家有没有注意到CPU的使用率 使用多线程的脚本,即使是打开一个记事本往里面输入字母这种简单的脚本 CPU占用率都能达到90%以上 我的CPU,E7200,酷睿双核2.54GHZ 如此高的CPU占用率,即使写出了脚本,也没办法使用 不知大家是否也如此~~
 
3开3线程,表示没感觉到卡。。。原来我习惯所有动作后面都加延时
 
单线程写个    while(1)        ; 就能100%了,多个线程每个都可能阻塞的话,最终也未必会100%
 
老生常谈了,在线程处理代码中加sleep,必须要加的,否则不只是cpu100%的问题,还会有其他问题。
 
线程循环中添加Sleep(1或10等适当数值)
 
如果要一直执行的话就是要死循环的,死循环当然就会100%占用CPU,因为你的线程一直在工作啊,CPU根本空闲不下来,所以,再循环体中加上sleep(1);这样的话,就会在循环的过程中暂时的释放CPU资源,当然为了防止失去响应还要加上application.ProcessMessages;
线程本身就是一个循环 不延时一直在那里运行的
 
按照你说的我感觉是你的sleep放的位置不对。你是不是把sleep放在画canvas 的循环里面了? 大致步骤如下 begin   读串口数据;   画Canvas;   Sleep(0); end;
 
 

Semaphore 类

semaphore  [ 'seməfɔ:]  
n.信号灯, 旗语
v.发出信号或旗语

限制可同时访问某一资源或资源池的线程数。

退出信号量并返回前一个计数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

程序开发性能调优之如何降低CPU使用率。 的相关文章

  • 写成生成以给定的p为参数的伯努利样本的程序,并写出由样本计算p的程序

    根据给定的参数p 编写伯努利样本的程序如下 def bernoulli sample p 定义一个变量x x 0 产生一个0 1之间的随机数 r random random 若随机数小于等于p 则x 1 if r lt p x 1 返回x
  • python判断一个字符串是不是ip地址

    文章目录 一 解决思路 二 判断代码 一 解决思路 满足什么条件的叫ip地址 1 先判断它是不是由4段数字用点号 分隔开 2 再判断每段数字的十进制是不是在0 255之间 满足以上条件就是正确的IP地址 那么解决思路就来了 1 拿到IP 先
  • 如何过掉前端Chrome的debugger反调试

    1 禁用浏览器断点 点击图中按钮 之后将不会再命中任何断点 这种方法虽然可以防止无限循环命中debugger断点 但是也存在很大的缺陷 因为对于其他代码 我们还是需要断点调试功能的 所以这个方法仅限于静态分析 2 直接使用debugger指
  • 唯品会测试工程师面试

    秋招 笔试题是后台 前端 测试同一套的题 考基础 面试 2014 09 25 一面 为什么做测试 测试遇到的最大的困难 python和java做的网站的区别 参加过什么社团活动 有没有上唯品会买过东西要你测怎么测 有哪些测试方法举例说 HR
  • 解决 深度学习docker 端口连接被对方重设

    在容器中启动 jupyter notebook 的时候 请指定 ip 为 0 0 0 0 aka 原因 docker启动的时候 我们的命令是 p 8888 8888 比如 sudo nvidia docker run it p 8888 8
  • 输入年份,判断输入的年份是否是闰年。(闰年的条件是能被 4 整除,但不能被 100 整除;或能被 400 整除。)

    public class Task 10101003 02 public static void main String args Scanner input new Scanner System in System out println
  • Charles证书-手机刷入系统信任证书

    最近面试需要 重新捡起了爬虫 在抓包的时候发现尽管按照Charles的要求去安装证书 还是会抓不到https的包 最后发现需要把用户信任证书是不够的 需要系统信任证书才行 第一步 把代理设置成Charles的代理 具体做法 Help SSL
  • 【机器学习基本理论】详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解

    机器学习基本理论 详解最大似然估计 MLE 最大后验概率估计 MAP 以及贝叶斯公式的理解 https mp weixin qq com s 6H0gmMWvTExySMraroLVlQ 最大似然估计 Maximum likelihood
  • 使用teamviewer搭建内网服务器。

    目录 起因 下载并安装teamviewer 服务器安装ccproxy 客户端使用SwitchyOmega 起因 学习的时候 学习视频必须使用校内的网络才能连接观看 校外无法观看 所以使用teamviewer和proxy搭建一个方便访问的服务
  • 绝对定位的元素宽度自动撑开

    position absolute white space nowrap
  • java传输json数据用md5加密过程

    1 加密过程 客户端传输数据 包含两部分 一部分原始数据 一部分签名 签名就是对原始数据MD5加密后的字节序列 而原始数据就是普通的string字符串 2 服务器端呢 将收到的原始数据 进行MD5加密后得到字节序列 将这个字节序列与传输过来
  • UDP客户端程序(C语言)

    UDP客户端程序 与UDP服务器端程序配合使用 Visual Stdio 运行 UDP客户端 cpp 定义控制台应用程序的入口点 include stdafx h include
  • 使用libevent编写高并发HTTP server

    libevent库使得高并发响应HTTP Server的编写变得很容易 整个过程包括如下几部 初始化 创建HTTP Server 指定callback 进入事件循环 另外在回调函数中 可以获取客户端请求 request的HTTP Heade
  • 多线程同步之生产者---消费者模型

    额 腾讯二面的时候 被问到了这个模型 很不幸啊 不会用代码来实现 生产者消费者模型 对于多线程程序来说 不管任何编程语言 生产者和消费者模型都是最经典的 就像学习每一门编程语言一样 Hello World 都是最经典的例子 实际上 准确说应
  • Vue 在for循环中动态添加类名及style样式集合

    介绍 在vue的 for 循环中 经常会使用到动态添加类名或者样式的情况 实现给当前的选中的 div 添加不同的样式 动态添加类名 提示 所有动态添加的类名 放在表达式里都需要添加引号 进行包裹 通过 对象 的形式 使用花括号进行包裹 使用
  • 信号处理在matlab常用函数

    stem Y 将数据序列Y从x轴到数据值按照茎状形式画出 以圆圈终止 如果Y是一个矩阵 则将其每一列按照分隔方式画出 stem X Y 在X的指定点处画出数据序列Y stem filled 以实心的方式画出茎秆 stem LINESPEC
  • LeetCode:二叉树的属性(13道经典题目)

    LeetCode 二叉树的属性 13道经典题目 本文带来与二叉树的属性有关的经典题目 主要实现是C 题目 题目 101 对称二叉树 100 相同的树 572 另一棵树的子树 104 二叉树的最大深度 559 N 叉树的最大深度 111 二叉
  • C++:在Visual C++ 6.0中创建工程项目

    在Visual C 6 0中创建工程项目 在利用一个新的集成开发环境之前 首先要懂得如何创建一个工程项目 而本文接下来要讲述的就是如何在经典的C 编程环境Visual C 6 0中创建工程项目 工具 原料 电脑 Visual C 6 0 方
  • 十、【服务器】服务器软件及协议 名称中英文汇总1

    涉及到的软件和协议其实非常多 后续遇到重要的再添加更新 Level 1 Level 2 Level 3 服务器软件及协议 名称汇总 中英文 基本输入输出系统 BIOS Basic Input Output System 基板管理控制器 BM

随机推荐