cpu占用过高的解决方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cpu占用过高的解决方法相关的知识,希望对你有一定的参考价值。

参考技术A

cpu占用过高的解决方法

  导语:CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。它把指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。下面,我们就来看看cpu占用过高怎么办。

  要解决CPU使用率过高,首先我们要明白CPU过高是什么原因造成的,我们主要从软件与硬件入手:

  1、软件方面导致的CPU使用率高

  这方面主要涉及到的是系统问题,比如系统过于臃肿,开启过多程序以及电脑中病毒木马等等都会产生CPU使用率过高,而导致电脑速度慢。解决办法主要是围绕系统优化,优化开机启动项、尽量避免开启太多程序等等,以下我们会详细介绍。

  2、硬件方面导致的CPU使用率高

  其实硬件方面决定着比较大的.关系,比如如果电脑还是老爷机,采用最初的单核赛扬级处理器,那么这样的电脑,在多开启几个网页的情况下就容易导致CPU使用率过高,不管你怎么优化系统,这个问题始终无法很好解决,这主要是因为硬件本身过低造成的。

  不过如今电脑均已经达到了双核以上,即便入门处理器在满足上网与办公也会有非常流畅的运行速度,因此如果是老电脑经常出现CPU使用率过高,那么建 议大家最好升级处理器或者换电脑从根本上解决问题。对于如今入门双核处理器尽管满足基本上网与办公流畅,但运行大型应用也同样会存在CPU使用率高的问 题,因此在DIY装机中我们一定要了解电脑的用途与需求,选择合适的电脑配置。

  最后我们再来重点与大家介绍下CPU使用率过高的解决办法。由于硬件方面,我们只能采取硬件升级来解决,所以这里不过多介绍,下面我们主要针对系统 以及软件优化的方式,来尽量释放CPU使用率,这种方法适合CPU使用高并不是很严重的情况,过于严重建议还是从硬件升级入手。

  1、排除病毒感染

  如果电脑中病毒或马的情况下,木马恶意程序很可能会大量占用CPU资源,尤其是一些顽固病毒木马,一直都在恶意循环活动,感染各类系统文件,大量占 用CPU资源,这种情况就很容易出现CPU使用率过高,即便是较高的CPU也经不起反复大量的恶意程序运行,因此如果发现CPU使用过高,我们首先应高想 下是否是电脑中病毒了,建议大家安装如金山杀毒进行全面查杀。

   2、排除病毒感染后,下面我们就需要从系统优化入手了, 首先建议大家优化开启启动项,尽量让不需要使用到的软件不开机自动启动,比如一些播放器软件、银行安全插件等,这些完全可以需要的时候再开启,没必要开机启动。

  3、关闭不需要的程序进程

  如果发现CPU使用率较高,我们可以进入任务管理器,关闭一些不需要的程序与进程。

  4、优化注册

  通过注册表进行服务项优化,也可以一定程度优化CPU资源使用,比如当系统检查到开启视频相关服务,就会把CPU多分配一些供其使用,我们就是要禁用这个机制,方法如下:

  我们首先进入电脑注册表,接着将数值数据中,仅保留AudioEndpointBuilder和RpcSs,其他一概删除,然后退出即可。

  以上就是简单的介绍了一条关于开启视频相关服务的优化,通过禁用该无用功能,也可以微微提升CPU资源,另外我们还可以优化注册表其它项目。

  5、优化系统服务项

  在操作系统中,很多系统服务默认是开启的,但有些非常重要必须运行,但有些并不重要,比如我们电脑没有打印机、无线网络等,那么完全可以关闭打印机功能以及无线网络系统服务等,这样也可以节约系统资源,给CPU节省更多资源。

  优化系统的方法还有很多,尽管可能一个小小的系统优化,对于释放CPU资源很小,但如果很多个优化呢?是不是也可以释放较多CPU资源呢!通过以上 介绍大家应该明白CPU使用率高主要与硬件与软件有关联,其中硬件是核心,软件优化仅仅是辅助,过于低端处理器或者入门处理器运行大应用都会出现CPU使 用率过高,因此装机应根据需求,最后想说的是,如果CPU使用率不是过于偏高,通过系统的优化系统,也可以释放不少CPU资源,因此也是解决CPU使用率 过高值得采用的方法。


;

mysql占用服务器cpu过高的原因以及解决办法

排查方法 :

> mysql -uroot -p      #登陆数据库

>********                    #输入数据库密码

mysql> show processlist;             

show processlist 命令详解:

processlist命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句。

 

+-----+-------------+--------------------+-------+---------+-------+----------------------------------+----------

| Id | User  | Host             | db    | Command | Time| State      | Info                                                                                            

+-----+-------------+--------------------+-------+---------+-------+----------------------------------+----------

|207|root  |192.168.0.20:51718 |mytest | Sleep     | 5     |          | NULL             

     先简单说一下各列的含义和用途,第一列,id,不用说了吧,一个标识,你要kill一个语句的时候很有用。user列,显示单前用户,如果不是root,这个命令就只显示你权限范围内的sql语句。host列,显示这个语句是从哪个ip的哪个端口上发出的。呵呵,可以用来追踪出问题语句的用户。db列,显示这个进程目前连接的是哪个数据库 。command列,显示当前连接的执行的命令,一般就是休眠(sleep),查询(query),连接(connect)。time列,此这个状态持续的时间,单位是秒。state列,显示使用当前连接的sql语句的状态,很重要的列,后续会有所有的状态的描述,请注意,state只是语句执行中的某一个状态,一个sql语句,已查询为例,可能需要经过copying to tmp table,Sorting result,Sending data等状态才可以完成,info列,显示这个sql语句,因为长度有限,所以长的sql语句就显示不全,但是一个判断问题语句的重要依据。

常见问题 :

一般是睡眠连接过多,严重消耗mysql服务器资源(主要是cpu, 内存),并可能导致mysql崩溃。

解决办法 :

mysql的配置my.ini文件中,有一项: 

wait_timeout, 即可设置睡眠连接超时秒数,如果某个连接超时,会被mysql自然终止。 

wait_timeout过大有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性能,不过也不能把这个指设置的过小,否则你可能会遭遇到“MySQL has gone away”之类的问题,通常来说,我觉得把wait_timeout设置为10是个不错的选择,但某些情况下可能也会出问题,比如说有一个CRON脚本,其中两次SQL查询的间隔时间大于10秒的话,那么这个设置就有问题了(当然,这也不是不能解决的问题,你可以在程序里时不时mysql_ping一下,以便服务器知道你还活着,重新计算wait_timeout时间):

mysql> show global variables like ‘wait_timeout‘; 

+----------------------------+-------+ 

| Variable_name              | Value | 

+----------------------------+-------+ 

| wait_timeout               | 120    | 

+----------------------------+-------+

mysql> set global wait_timeout=20;

至此,mysql占用cpu下降了

以上是关于cpu占用过高的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

Win10 WMI Provider Host进程占用CPU过高的解决方法

解决WMI provider host占用CPU过高的问题

mysql占用服务器cpu过高的原因以及解决办法

电脑CPU占用过高怎么办

解决Win10系统本地主机,网络受限占用CPU过高的问题

Win10 CPU占用过高卡不用慌 学会这六个方法就行了