当前位置:网站首页>On December 8th, 2020, the memory of marketing MRC application suddenly increased, resulting in system oom
On December 8th, 2020, the memory of marketing MRC application suddenly increased, resulting in system oom
2022-07-07 08:57:00 【bboyzqh】
List of articles
background
12.08 At noon on the th mrc Applications suddenly appear, memory continues to rise , From 67% Rise to 85% about ( Monitoring is as follows ), Fortunately, the rising process is relatively slow , A decisive restart solved the problem . The process of solving and analyzing problems is as follows .
Problem solving process

mrc It's the bottom application of marketing , Main partial rule calculation , common 6 Taiwan machine (2 Next cluster , And cluster traffic is isolated from each other , Such as the upper layer hipc Cluster traffic will not be requested to k8s Cluster machines ),6 At the same time, the memory keeps rising , Refer to sketch 1 .
Because it was a big promotion at noon that day , Considering that there are only 3 Taiwan machine , I'm afraid that in the process of restarting one , The other two can't stand the flow of big promotion , At first, I didn't dare to consider a single restart , After a short period of time, the decision was made taking into account the cpu Only 5% about , The worst worry is that memory can't take care of it all of a sudden , If frequent gc May affect the normal traffic access , So prepare for the worst : Restart decisively ( Remove traffic before restart , meanwhile dump Memory for subsequent analysis ), As a result, there was no problem , Refer to sketch 2 . The whole process is as follows :
- The target restarts the machine for traffic removal , Adjust to restart the machine dubbo The weight of 0 that will do , because dump Memory processes are memory consuming operations , Server may appear feign death phenomenon, affect normal call , So we need to remove the traffic .
- Force the target machine to restart once full gc, The purpose is to reclaim the normal memory object occupation , To prevent the normal memory occupation and the influence of real memory leak objects , The impact analysis , You can use the following command :
- dump Next target machine memory , The order is as follows :
jmap -histo:live 13 ( Trigger full gc)
or
jmap -dump:live,file=dump_001.bin 13 ( Trigger full gc, When triggered, put dump_001.bin File deletion )
or
jcmd 13 GC.run ( Trigger young gc)
- Use IBMAnalyzer( perhaps jdk Self contained jvisualvm Tools or mat Tools ) Yes dump File analysis is enough
jmap -dump:format=b,file=dumpFile 13
After the event, the best plan is to add a new one to Tongyun maintenance mrc machine , And then restart each one , Refer to sketch 3 .
Post analysis
After the event dump Document analysis , As it involves specific business, I will not elaborate on it , Just describe the conclusion : Because that day mrc Configuring the shadow library results in . The root cause is druid Threads that monitor shadow library configuration will not exit with the end of the pressure test , stay mrc After pressure testing, the thread creation is triggered without restart , Lead to mrc Application memory keeps rising .
Welcome to WeChat official account. : Fang Chen's blog 
边栏推荐
- Analysis of abnormal channel number information before and after AGC re signature service
- Vagrant failed to mount directory mount: unknown filesystem type 'vboxsf'
- STM32串口寄存器库函数配置方法
- Greenplum6.x重新初始化
- cmake命令行使用
- Count sort (diagram)
- 模拟卷Leetcode【普通】1567. 乘积为正数的最长子数组长度
- 如何统计项目代码行数
- Test pits - what test points should be paid attention to when adding fields to existing interfaces (or database tables)?
- 2022-07-06 unity core 9 - 3D animation
猜你喜欢

Greenplum6.x常用语句

面板显示技术:LCD与OLED

Greenplum6.x搭建_环境配置

Output all composite numbers between 6 and 1000

Digital triangle model acwing 275 Pass a note

Routing information protocol rip

Interpolation lookup (two methods)

2022-07-06 Unity核心9——3D动画

Markdown editor Use of MD plug-in

The longest ascending subsequence model acwing 1017 Strange thief Kidd's glider
随机推荐
OpenGL frame buffer
【MySQL】数据库进阶之触发器内容详解
Simulation volume leetcode [general] 1706 Where does the ball meet
Platformization, a fulcrum of strong chain complementing chain
2022-06-30 unity core 8 - model import
Several methods of calculating the average value of two numbers
[wechat applet: cache operation]
Other 7 features of TCP [sliding window mechanism ▲]
如何统计项目代码行数
Goldbach conjecture C language
Greenplum 6.x common statements
Category of IP address
Test pits - what test points should be paid attention to when adding fields to existing interfaces (or database tables)?
STM32串口寄存器库函数配置方法
模拟卷Leetcode【普通】1609. 奇偶树
Redis fault handling "can't save in background: fork: cannot allocate memory“
面试题:高速PCB一般布局、布线原则
模拟卷Leetcode【普通】1567. 乘积为正数的最长子数组长度
Greenplum 6.x version change record common manual
[MySQL] detailed explanation of trigger content of database advanced