记录一次生产服务器CPU400%满负荷处理过程

记录一次生产服务器CPU400%满负荷处理过程

文章目录

  • 记录一次生产服务器CPU400%满负荷处理过程
    • 步骤
    • 猜测
    • 解决方法
    • 反思
    • 总结

步骤

top命令

31779进程 占 CPU 361% ,通过最后的COMMAND可以判断是java进程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WNld4WK0-1570782437736)(C:\Users\xiewenfeng\AppData\Roaming\Typora\typora-user-images\1570781456205.png)]

通过jvmjsp -l命令 查询

  • 31779进程 是 zipkin-server-2.10.2-exec.jar

通过jvmjstat命令 查询

  • 该 java 进程GC回收的情况
jstat -gcutil 31779 5000 20

新生代(eden区)、老年代和元空间 一直是满的

FGC( full gc ) 3790770次 !!!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QCKeVM7H-1570782437740)(C:\Users\xiewenfeng\AppData\Roaming\Typora\typora-user-images\1570781469161.png)]
查看日志

 tail -n 200 catalina_zipkin.out

日志部分信息

...
2019-08-28 11:15:57.678  INFO 31779 --- [           main] z.s.ZipkinServer                         : Started ZipkinServer in 6.867 seconds (JVM running for 8.596)
Exception in thread "Thread-2" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "SimplePauseDetectorThread_0" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "XNIO-1 I/O-4" java.lang.OutOfMemoryError: GC overhead limit exceeded
Exception in thread "XNIO-1 Accept" java.lang.OutOfMemoryError: GC overhead limit exceeded

发现 是 OutOfMemoryError 内存溢出OOM

查询服务器 cpu 监测日志 发现在几天前就已经发生异常,一直是 cpu 满负荷

说明和本次客户集中大量使用系统并无关系
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8QqXB448-1570782437741)(C:\Users\xiewenfeng\AppData\Roaming\Typora\typora-user-images\1570780226464.png)]

猜测

(可能不是实际情况)

可能原因是 之前的压力测试 -> 消息中心报错->日志堆积

导致的发送到ZipkinServer应用的消息过载,堆内存无法正常回收,从而引发OOM

解决方法

1.关闭该进程

  • 因为进程实际上已经卡死
  • 此进程是监控进程,并不影响实际业务
kill -9 31779

2.重启zipkin-server-2.10.2-exec.jar应用即可

3.再次进行压力测试,测试ZipkinServer多大堆内存可以避免这种情况的发生,合理增大jar应用启动时jvm的参数

反思

  • 服务器 cpu 长期90%以上,云服务器应该设置报警机制
  • 如果链路追踪没有什么实际作用,可以剔除相关的功能和配置
    • 在项目中间阶段引入该组件,但是实际业务并没有非常复杂的链路调用
    • 引入的组件越多,系统复杂度越高,运维成本越高

总结

处理过程

  1. 找出异常占用进程
  2. 找出该进程对应的应用
  3. 如果是java应用,查看该应用的GC情况
  4. 查看输出的日志文件
  5. 分析原因
  6. 解决方法
  7. 反思

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 多进程下开多线程满负荷工作

最开始只是有这样一个想法,后来想实现一下 本文只是写一个例子,实现了开多个进程,每个进程下面开多线程,每个进程执行单独一个任务,并行执行,进程下的多线程执行任务,并发执行 import multiprocessing import threading import timedef m_test():for i in range(25):tthreadin…

磁盘IO满负荷性能分析

磁盘IO满负荷性能分析 2011-06-26 22:30:59| 分类:linux优化 |举报|字号 订阅 磁盘IO满负荷性能分析(一) 有个项目最近发现在执行一些oracle数据库的数据补入的sql语句时非常慢,经查发现来自存储的硬盘io会冲到100busy devic…

【板卡调试】测试篇 满负荷 网口测试篇

1、满负荷测试 对于window环境下载,下载使用7.zip的软件,进入工具中选择基准测试,即可。 原理:根据选择的线程核数,进行多线程式的解压缩操作,进而实现CPU满负荷运载。 工具下载链接:https:/…

Android Studio实现记单词App,背完四六级一次过~

项目目录 一、项目概述二、主要技术三、开发环境四、详细设计1、数据库2、单词详情3、搜索单词 五、运行演示六、源码获取 一、项目概述 本系统包含高考、四级、六级、托福和雅思词汇五个章节。每个章节分为多个单元,每个单元又包含上百个词汇。可以在单元列表查询…

英语背单词秘籍

注:文章已于2021年2月4日更新。 文章目录 1. 大多数人背单词的现状2. 为什么不推荐使用现成的单词书3. 费曼学习法来帮助背单词1. 大多数人背单词的现状 背单词是大型考试中极为基础但却至关重要的一步。但很多同学都在此步中就踩了坑,比如买了一本厚厚的单词书开始背起,如…

安卓android记单词软件

课程设计项目总结,基于安卓的记单词软件,分为前端和服务器端,前端使用安卓,后端使用SSM框架。 具体技术栈为: 前端:android、okhttp、sqlite、litepal等 后端:SSM(SpringMVCSpringMybatis)、mysql数据库、tomcat服务器…

Python背单词记单词小程序,可自定义词库,支持多种记忆模式,根据词义拼写、选择单词,根据词意选择单词

Python背单词记单词小程序,可自定义词库,支持多种记忆模式,根据词义拼写、选择单词,根据词意选择单词,可乱序抽查,可对错题进行反复抽查 完整程序源代码下载:Python背单词记单词小程序 词库生成…

为了背单词,我花了两天写了一款背单词小程序

前言 “要是考试不考英语就好了” 哎,提起英语,都是伤心事。有时候严重怀疑自己不是一块学习英语的料。单词背了忘,忘了背,背了又忘。考试之前看啥单词都会,一上考场:这单词啥意思? …

大量背单词有用吗?

前言 从三年级开始接触英语,到今为止已经14年了,可是自己的英语水平虽不至于茫然无知,可是真正做到和老外进行交流,还是有一定的困难的。不仅是老外,和小伙伴进行topic的时候,也有卡壳的时候,类…

单词背记系统

题目 B4:基于关键词的文本排序检索系统 一、 课题内容和要求 题目 B4: (一)课题内容 “背单词—个性化背词”是背诵英语单词的软件。用户可以根据自己的需求 导入需背诵的词库,并可以编辑自己的词库。背单词时有两种…

背单词超实用的微信小程序来了

如果你还找不到快速背单词的工具,查询单词最便捷的工具,那你得赶紧了,自己独自开发到上线得微信小程序来了。

分享一款好用的电脑背单词软件

推荐一下这款单词风暴,虽然看起来很老了,但是好用,功能多。 下载地址 单词风暴免费版下载_官方免费版_单词风暴官方网站 (wordstorming.com) 下面是主界面 需要登陆ID:285804755-QGJTE-HCUMQ 下面是词库 不过我最喜欢的功能是这里面可以…

chatgpt赋能python:使用Python编写计算器

使用Python编写计算器 你是否曾经被手头上的计算器的功能所限制?或者需要一种高级计算器来解决你的问题?如果是这样的话,那么你可以使用Python编写一个自己的计算器。Python是一种功能强大而又容易入门的编程语言,可以用于各种各…

chatgpt赋能python:Python计算器代码实现——简单又实用

Python计算器代码实现——简单又实用 Python 作为一门高级编程语言,具有易读易写的特性,其语法简单,易于上手,受到越来越多的程序员和爱好者的喜欢。在Python中,实现计算器功能也是非常简单的一件事情。 为了方便大家…

chatgpt赋能python:Python计算器:简单易用的数学工具

Python计算器:简单易用的数学工具 作为一种脚本语言,Python被广泛用于数据分析、Web开发、机器学习等领域,它也是一款非常适合编写计算器的语言。Python计算器作为一款基于Python语言编写而成的数学工具,它不但可以快速进行各种基…

chatgpt赋能Python-python函数计算器

简介 Python是一种高级编程语言,它在数据科学和机器学习等领域非常流行。但是,很多人可能不知道它也可以用来编写简单的函数计算器。 在本文中,我们将介绍一些基本的Python函数,并教你如何使用它们来编写一个简单但强大的函数计…

chatgpt赋能python:Python计算器-让数学计算更简单

Python计算器- 让数学计算更简单 Python是一种广泛使用的编程语言,它有许多功能,从数据分析到人工智能应用。今天,我们来看看如何使用Python计算器来进行数学计算,这样你就可以处理复杂的数字问题并轻松地获得正确的结果。 Pyth…

chatgpt赋能python:Python简单计算器代码

Python简单计算器代码 Python是一种高级的编程语言,被广泛用于开发各种类型的应用程序,包括计算器应用程序。在本文中,我们将介绍Python简单计算器代码的实现和用法。 Python简单计算器代码介绍 一个简单的计算器能够实现基本的算术运算&a…

熵权法原理及应用

熵权法原理及应用 一、熵权法简述 熵:起源于物理学,表示物质微观热运动时的混乱程度,在信息论中是衡量系统无序程度度量值。 熵权法:根据信息熵的定义,对于某项指标,可以用熵值来判断某个指标的离散程度&…

微信常用接口

微信常用接口 一、公众号 1、准备工作 公众号的帐号及密码 公众号的AppID,AppSecret AppID: ​ 开发者ID是公众号开发识别码,配合开发者密码可调用公众号的接口能力。 AppSecret: ​ 开发者密码是校验公众号开发者身份的密码&a…