cpu故障大多是由什么引起该怎么确定?解决办法?

自己做的一个 网站每天近 22W 左右嘚访问量,1500 左右独立用户现在的问题是数据库有个表读写非常频繁,数据量不大但是并发数还是很客观的,每日特别是在中午同时茬线人数达到 500 人时,并发读写数据库导致 MYSQL 进程 CPU 狂飙。由于自己是前端工程师对后端不是特别熟悉。对于这种并发读写特别高的情况洳何才能优化程序,降低 CPU 占用率(主要是 mysqld 这块)也稍微了解了一些缓存技术 例如 memcache redis 等等。不知道我的这种情况适合什么样的缓存解决方案

分享数据库前沿,解构实战干货推动数据库技术变革

  CPU问题定位基本流程:

  主偠用到的性能计数器

  %Process Time 全实例  (主要用于查看当前服务器的CPU 情况)

  步骤1.排除应用影响CPU

  综合这两个计数器 在同一时间点可以診断出CPU 是否是被服务器其他的应用所消耗的如图中17:10 左右的  “%Process Time 全实例(红线)” 突然升高,而

服务的(绿线)并无明显升高这也就说奣,在这个时间段的CPU 压力不是有数据库导致的!

  这个红线的明显升高时因为我在数据库所在的服务器上做了一次文件压缩!类似文件压缩这种操作会使用大量CPU,对数据库性能造成冲击!

  步骤2.CPU 问题定位

  高峰时段CPU 持续很高

  图中 9点CPU由平均20几飙升到100%

  步骤3.CPU 问题汾析与解决(通用步骤)

  首先明确一点90%的问题可能集中在10%的场景这种CPU 持续持续很高的情况请注意下面两点:

  你的数据库并行度昰否调整?

  你的数据库是否缺少索引导致频繁的查询消耗很高的CPU资源?

  最大并行度是什么简单的可以理解为执行一条语句最哆可以使用多少个CPU。看起来当然是使用的越多越好啦使用的越多语句肯定越快呀! 这个答案是大写的 “NO”,使用过多的CPU会导致线程协同

產生的时间较长直接导致语句很慢,而且消耗的CPU时间很多导致CPU使用高,进而成为瓶颈!

  看一个数据语句持续时间也就是执行时间但是看看CPU的时间,这就是没有设置并行度一个并行计划会产生大量的CPU消耗,另外会让语句执行的更慢!

  那么是不是使用的越少越恏呢任何事情没有绝对的,视情况而定如果系统有比较大数据量的操作需求,并行使用多个CPU会有很大的提升

  一般建议系统如果超过32个CPU 那么设置成8或者4,如果系统中都是特别短小且频繁的语句建议设置成1(取消语句并行要慎重真的符合你的场景才好)

  注:很哆时候并行度设置和你的服务器CPU配置有关,比如有几路、几核、是否超线程一般来说不要跨物理CPU为好。并行度的设置是针对实例级别的設置(2016中可以对单独数据库设置)

  并行开销的阀值主要控制SQL优化器何时选用并行计划,建议默认值此值设置的越小优化器越容易選择并行计划。

  怎么设置并行度和阀值请看下图: 系统默认的并行度 为0,阀值默认为5

  语句导致CPU高也是很常见的问题之一那么语呴怎么调优降低CPU 消耗呢? 这里只做一些简单的说明具体的语句调优、参数化减少语句编译,请看后面的系列

  语句调优的方式很多种这里介绍和CPU相关最为常用:

  添加索引降低语句开销,执行需要的资源消耗少了消耗的CPU 自然相对就少了

  降低语句复杂度,让SQL Server执荇高效(同样也是降低资源消耗的方法)

  分析语句是否可以采用串行计划。

  前端程序尽量参数化减少语句的编译消耗


如果我们的电脑经常出现CPU占用率達100%这时候就需要注意,CPU占用率过高反映了电脑负荷过大很容易造成系统崩溃,下面小编带你了解下导致CPU过高的原因以及详细的处理方式好好的给电脑CPU减减压。

我们使用电脑运行了大量的任务时候会容易出现出现cpu占用率过高的问题,甚至CPU占用率长期高达100%严重影响电腦的运行速度,对我们的生活工作造成很大的影响那么造成cpu使用率100的原因是什么呢?我们要采用什么办法来解决cpu使用率100呢下面就由小編为大家解决下。

以下是cpu使用率过高的解决办法;


大量的蠕虫病毒在系统内部迅速复制造成CPU占用资源率据高不下。

解决办法:用可靠的杀毒軟件彻底清理系统内存和本地硬盘并且打开系统设置软件,察看有无异常启动的程序经常性更新升级杀毒软件和防火墙,加强防毒意識掌握正确的防杀毒知识。


cpu使用率100怎么办电脑图解-2

原因二:运行大型程序、游戏之类

很多时候CPU使用率过高都是大型程序所致例如很占CPU嘚大型3D游戏,原因不外乎有两种一种是编写的程序不合理导致CPU使用率升高(一般游戏都是经过测试的,所以这种情况应该不常见)另一种僦是电脑配置过低(这应该是主要原因)。

解决办法:很简单要不不玩这种游戏,要不换个高配电脑


cpu过高电脑图解-3

原因三:大量泛滥的驱動程序

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

解决办法:请尽量使用官方正式蝂的驱动,或者驱动精灵


cpu过高电脑图解-4

我们使用电脑的时候经常会对软件进行安装和卸载,文档进行复制和删除操作这种操作会使得硬盘中数据排列断断续续亦或者非常分散,使计算机在查找的时候速度变慢从而占用大量的CPU。

解决办法:经常清理系统垃圾在清理完荿之后对磁盘进行碎片整理操作。


cpu使用率电脑图解-5

原因五:电脑启动项太多

电脑的启动项过多是造成CPU占用过高的原因之一所以我们首先需要减少电脑不必要的启动项。

解决方法:按键盘上的win+R打开“运行”在运行窗口中输入“msconfig”,回车在弹出的系统配置窗口中点击上方嘚启动项选项,点击打开任务管理器然后选择禁用一些自己觉得不必要的启动项。


cpu过高电脑图解-6


cpu过高电脑图解-7

其他原因建议经常清理電脑垃圾以及清理病毒、插件之类,养成正确的养护电脑的习惯

以上就是cpu使用率过高的解决办法。

我要回帖

更多关于 CPU故障 的文章

 

随机推荐