服务器负载过高实例分析

news2024/11/27 6:41:31

一、问题现象

  top 命令查看显示服务器负载情况,服务器负载1.31,而且长时间没降下去,CPU使用率99.9%也异常飚高

    load average :系统平均负载均值,三列分别代表 1分钟、5分钟、15分钟。理论上,值越小越好。负载越高,说明可能跑的程序出现异常情况。

          一般,如果只是 1 分钟内的负载比较高,其他两个负载参数较低, 这说明是暂时现象,问题不大。如果5分钟、15分钟负载都超过 1 的话,那就要考虑程序方面的问题了。

  CPU使用率:有 10 个开发任务,4名开发人员,但是 10个任务都分配给一个人了,那么此时的CPU使用率为 25%,负载非常高。

  CPU平均负载:负载就是cpu在一段时间内正在处理以及等待cpu处理的进程数之和的统计信息,也就是cpu使用队列的长度统计信息,这个数字越小越好(如果超过CPU核心*0.7就是不正常)。

        高速入口,系统负载为0,此时没车,收费员闲着。负载0.5,一半的车流了,收费员比较闲。负载1,满负荷,没时间歇着了。负载1.5,车队已经排到500米开外了,没得歇。负载越高,过站时间越长。

二、查看分析

1、磁盘空间  df -l ,空余足,无问题

  

 2、内存使用情况  free ,剩余充足

  

 3、服务流量问题,由于是本地测试程序,无外部突发的高并发访问,排除。

 4、JVM内存情况 

  4.1、 jmap -heap PID,无GC异常

  

   4.2、GC实时执行情况  jstat -gc PID 5000 ,每五秒输出一次GC情况。无频繁FGC情况,排除。

    S0C / S1C:年轻代 Survivor 区容量

    S0U / S1U:年轻代 Survivor 区使用量

    EC / EU :年轻代 Eden 区容量 / 使用量

    OC / OU :Old老年代容量 / 使用量

      MC / MU :Metaspace 元空间初始大小 / 使用量

      YGC / YGCT :程序启动到采样时的年轻代GC次数 /  耗时

      FGC / FGCT:程序启动到采样时的老年代GC次数 /  耗时

 5、查看运行中的Java程序进程

  5.1、查看异常CPU使用率进程

  5.1、导出异常飚高的PID对应的线程快照信息, jstack -l PID > /opt/apps/12001/12001.stack 

  5.2、查看对应进程中哪个线程占用异常过高, top -H -p PID 

  

   5.3、对应线程PID十进制转为十六进制, printf "%x\n" PID 

  

   5.4、下载 5.1 中的快照文件到本地,或者直接查找文件内容  grep -C20 6f8 12001.stack 

  

   5.5、根据对应信息,去程序中查看,这里使用的是本地测试程序,线程一直RUNNABLE,程序中while无限循环,即为问题所在。

  

 6、CPU使用率低负载高

  原因:等待磁盘I/O完成的进程过多,导致进程队列长度过大,但是CPU运行的进程却很少,这样就体现到负载过大了,CPU使用率低。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/85955.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C4D中使用python脚本1

学习视频链接 关于C4D与Python那些事_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1et411172W/ 目录 一、简单用法 二、C4D包 2.1 vector 矢量 2.2 矩阵 2.3 用脚本创建对象 2.4 几何体结构 三、制作效果 3.1 洗牌 3.2 后面的项目单独开文章 一、简单用法 …

java小技能:对list集合根据条件进行分组、过滤和字段筛选

文章目录 引言I 对list根据条件进行分组1.1 费率信息实体1.2 dto1.3 查询数据II 对list根据条件进行过滤和字段筛选1.1 代理商配置角色权限步骤1.2 实体1.3 穿透删除所有下级代理商相对应的权限值引言 需求背景:查询机构下的代理商费率信息,查询结果对分润和返利进行分组。 …

【云计算与大数据技术】Spark的解析(图文解释 超详细必看)

一、Spark RDD Spark是一个高性能的内存分布式计算框架,具备可扩展性,任务容错等特性,每个Spark应用都是由一个driver program 构成,该程序运行用户的 main函数 。 Spark提供的一个主要抽象就是 RDD(Resilient Distributed Data…

Java搭建宝塔部署实战SSM智能养生平台管理系统源码

大家好啊,我是测评君,欢迎来到web测评。 本期给大家带来一套Java开发的SSM智能养生平台管理系统源码。 技术架构 技术框架:ssm layui jsp mybatis bootstrap jquery mysql5.7运行环境:jdk8 nginx1.20 tomcat9 IntelliJ …

与电装DENSO建立EDI连接需要掌握哪些信息?

项目背景 株式会社电装DENSO CORPORATION是世界汽车零部件及系统的顶级供应商,在2013年《财富》周刊公布的世界500强企业排名中,位列第242名。作为世界顶级汽车技术、系统以及零部件的全球性供应商,电装在环境保护、发动机管理、车身电子产品…

DocuWare平台——用于文档管理和工作流程自动化的内容服务平台详细介绍(下)

接上篇~~ 三、处理文档、控制工作流程 顺畅的信息流是每个生产过程的基础。自动化任何基于文档的任务(从有效的重新提交文档到复杂的审批工作流程),让您的团队在跨组织和跨部门的工作中畅通无阻。 具有列表的任务管理 通过自动汇总当前信…

数字分类

目录 1012:数字分类 输入格式: 输出格式: 输入样例 1: 输出样例 1: 输入样例 2: 输出样例 2: 代码长度限制: 时间限制: 内存限制: 思路: 1.变量存储 1.2代码: 大坑,好多坑: 坑点1&#xff1…

Android 动态分区详解(六) 动态分区的底层机制

文章目录 1. Android 动态分区的两重含义2. device mapper 的原理3. linear 映射的原理3.1 多个设备映射示例3.2 `dmsetup create` 命令参数解释1. `dmsetup create` 命令2. 映射表格式解析3.3 单个设备映射示例1. 使用 dmsetup 映射单个设备2. 使用 dmctl 映射 super 设备本文…

二、物理层(二)传输介质和物理层设备

目录 2.1物理层概述 2.2导向型传输介质 2.2.1双绞线 2.2.2同轴电缆 2.2.3光纤 2.3非导向型传输介质 2.3.1无线电波 2.3.2微波 2.3.3红外线、激光 2.4物理层设备 2.4.1中继器 2.4.2集线器 2.1物理层概述 物理层考虑的是如何在连接到各种计算机的传输媒体上传输数据比…

推断统计 | 学习笔记 (全)

一.概率与概率分布 概率论:为解决不确定性问题提供方法 1.随机事件及其概率 基本概念 试验:在相同条件下,对事物或现象所进行的观察。特点是可以在相同的条件下重复进行;每次试验的可能结果不止一个,但试验的所有可…

QT—QString类

一、隐式共享 隐式数据共享机制去最大化资源有效利用和最小化复制克隆操作。隐式共享类当作为函数参数传递的时候,不仅安全而且效率很高,因为传递的时候只是传递的数据的指针,数据本身只当自己被修改的时候才会去复制。简称写时复制。数据相…

【AI with ML】第 2 章 :计算机视觉简介

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

前端大串讲,狂神,狂神,p6 01:00

一 概述 前端框架:vue、React、 uniapp(小程序)。前端脚手架:babel-cli、vue cli、webpack-cli服务器:node.js、java后端前端框架的用法: 方式1:用纯前端就可以独立的去完成一些前端项目的开发,并脱离于后…

正点原子 IMX6ULL 自学笔记(未完待续。。。)

一、Makefile 1、语法 目标…… : 依赖文件集合…… 命令 1 命令 2 …… 例子: 生成main可执行文件需要main.o input.o calcu.o,命令是gcc -o main main.o input.o calcu.o main: main.o input.o calcu.ogcc -o main main.o input.o calcu.omain.o: ma…

C++实现对象行为型-迭代器模式

1.1 基本概念 迭代器模式(Iterator Pattern):提供了一种方法来访问聚合对象,而不用暴露这个对象的内部。 聚合对象的两个基本功能: (1)存储内部数据; (2)…

MySQL表的进阶知识

目录 一、数据库约束 1、not null 2、unique 3、primary key 4、auto_increment 5、default 6、foreign key 7、check 二、插入数据 三、设计表 1、一对一 2、一对多 3、多对多 四、查询 1、聚合查询 a、聚合函数查询 b、group by c、having 2、联合查…

pikachu靶场-8 越权漏洞

越权漏洞 越权漏洞概述 由于没有对用户权限进行严格的判断,导致低权限的账号(比如普通用户)可以去完成高权限账号(比如超级管理员)范围内的操作 平行越权:A用户和B用户属于同一级别用户,但各…

虚拟主播怎么做出来的?今日安利:AI虚拟人物怎么弄?

某天,一位品牌店的老板向我寻求帮助,大概内容就是:“他最近要开拓线上店铺的直播渠道,直播时间较长,雇一位主播又费钱又辛苦,想制作一个符合品牌调性的AI虚拟人物来带货。”于是我跟他分享了制作虚拟主播的…

北京医保定点医院2022年版

文章目录概述官方查询方法49家A类定点医院政府公告初始19家2021年4月新增13家A类医院2021年11月新增7家A类医院2022年6月新增10家A类医院定点中医/专科医院定点社区卫生服务机构附录问题医保电子凭证4家定点医院的查询和修改北京医保个人账户资金定向使用北京医院排行榜单概述 …

基于BINN算法的CCPP全路径覆盖算法

1.CCPP整体算法文档 1.1 ccpp基础介绍 全路径覆盖算法(CCPP: Complete Coverage Path Planning)作为扫地机器人较为关键的组成部分,其问题的本质是:在栅格地图中,全覆盖路径规划问题就演变为寻找机器人的下一个移动位置,只有准确…