服务器CPU占用过高如何解决呢?

  • 来源:网络
  • 更新日期:2020-05-07

摘要: 不管是使用电脑或者是使用服务器,都会遇到CPU占用过高怎么解决这样一个问题。但是电脑和服务器解决CPU占用过高这个问题的方法和手段还是略有不同的,那么,服务器CPU占用

不管是使用电脑或者是使用服务器,都会遇到CPU占用过高怎么解决这样一个问题。但是电脑和服务器解决CPU占用过高这个问题的方法和手段还是略有不同的,那么,服务器CPU占用过高如何解决呢?这是今天小薇想和大家说的一个问题。

像电脑CPU占用过高,一般可以直接到任务管理器中停用较高的应用进程,或者是扫描查杀电脑是否中了病毒,或者是禁用一些不必要的启动项,或者是降一下操作系统。然而,如果是服务器的CPU占用过高,那么解决方法就不会这么简单,一般而言,分这几部走:

一般可以根据数据的流向进行性能各部件的分析,以我现在使用的系统来说数据流向为:用户——网络—应用服务器(tomacat)——后台数据库—数据落地(数据是否写入到数据库或者查询到)

其他:用户——网络-nginx——(中间件)——应用服务器(tomacat)——后台数据库—数据落地(数据是否写入到数据库)

在进行性能分析时,可以一点一点的排查。

此处仅学习如何定位CPU占用过高的进程,并进行定位:

一、准备工作

1、高并发的压测脚本(用户登录、查询)

2、可以连接的应用服务器(用户名、密码)

3、稳定的网络环境

二、脚本调试

1、使用jmeter录制完成脚本,进行一次基准测试,保证脚本可用。

2、未进行加测前,先查看空闲时的系统利用率:top 命令直接查看。

3、配置测试环境使施压机一直对服务器进行压测在查看服务器的运行状况。

4、查看程序中占用资源最大的线程ID。

5、将PID=26403转换成16进制:printf“%x\\n” 26403,也可以使用其他外部的装换方式。

6、使用命令 jstack + (3)中进程 | grep + tid 【-C=线程前后行数,-A =线程后行数 ,-B=线程之前行数】 +数字。

通过这样几个步骤就能找到CPU占用过高的原因并且用相应的办法解决掉过高的进程,当然,这是寻找CPU占用过高怎么解决的办法之一,服务器cpu过高该怎么处理中,云服务商写过