首页 > 其他分享 >JVM系统优化实践(20):GC生产环境案例(三)

JVM系统优化实践(20):GC生产环境案例(三)

时间:2023-07-19 21:33:51浏览次数:53  
标签:20 监控 OOM XX GC 内存 JVM 系统优化

您好,这里是「码农镖局」51CTO博客,欢迎您来,欢迎您再来~



某新手开发工程师接到了一个保存Elasticsearch日志的任务,以供后续分析之用。但写代码的时候,误将保存日志的代码段弄成了无限循环,程序启动后,没用多久就崩溃了。

另一名工程师在动态创建类时,没有实现动态代理机制,也就没有缓存动态生成的类,导致每次都要重新生成。因此当高并发时,瞬间创建了大量的类,塞满Metaspace,内存溢出OOM。一般OOM的生产环境解决方案只有两种。一是利用Zabbix、Open-Falcon、Prometheus之类成熟的监控平台,二是自研一些简单的监控组件,例如利用hystrix的监控功能实现对系统的简单监控。较为成熟的监控体系和监控指标包括:

1、机器(资源)负载监控,如CPU使用率、磁盘使用量和剩余空间

2、内存使用量

3、网络负载

4、JVM Full GC的频率

5、业务指标,如订单量阈值、try-catch抛异常等

如果当发生OOM时需要自动dump内存快照,那么可以在JVM中加入如下参数:

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/work/oom

通用的JVM模板示例:

JVM系统优化实践(20):GC生产环境案例(三)_GC


感谢您的大驾光临!欢迎骚扰,不胜荣幸~

标签:20,监控,OOM,XX,GC,内存,JVM,系统优化
From: https://blog.51cto.com/u_15817148/6780075

相关文章

  • 2023-07-19:布尔表达式 是计算结果不是 true 就是 false 的表达式 有效的表达式需遵循
    2023-07-19:布尔表达式是计算结果不是true就是false的表达式有效的表达式需遵循以下约定:'t',运算结果为true'f',运算结果为false'!(subExpr)',运算过程为对内部表达式subExpr进行逻辑非(NOT)运算'&(subExpr1,subExpr2,...,subExprn)'运算过程为对2个或以上内部表达式subEx......
  • STM32中包含的c语言基础知识(2023/7/19)
     关键字为c语言中的应用,表示的范围根据使用的范围不同,也发生了相应的变化,比如char本来是用来表示字符的,现在也可以用来表述数字;int在c中是16位的,在32中表示32位,long和int的长度相同,longlong基本不使用。stdint关键字的库文件给我们提供的,ST文件是以前的库文件用的命名方式,现在......
  • 2023/7/19
    今天主要完成了几道关于字符串的练习题package练习;publicclass数字位数{publicstaticvoidmain(String[]args){StringBuildersc=newStringBuilder();longl=1234567890987654321l;//long型数据后面要标注l,float数据后面要标注f......
  • 剑指 Offer 20. 表示数值的字符串
    题目:#遇到数字:一定合法#遇到'.'且合法需要满足条件:之前没出现过'.',之前没出现过'e'#遇到'e'且合法需要满足条件:之前没出现过'e',之前出现过整数#遇到'+'或者'-'且合法需要满足条件:位于字符串第一位,或者紧跟在'e'之后classSolution{public:boolisNumber(st......
  • LeetCode 1201. Ugly Number III 数学+二分答案
    Anuglynumberisapositiveintegerthatisdivisibleby\(a\),\(b\),or\(c\).Givenfourintegers\(n\),\(a\),\(b\),and\(c\),returnthe\(n\)thuglynumber.Solution考虑如何二分答案,假设一个函数\(f(num,a,b,c)\)会得到\([1,num]\)中uglynumb......
  • 【dp,建模】AGC032D Rotation Sort
    ProblemLink有一个长为\(n\)的排列\(p\),给定\(A,B\),你每次可以做以下两种操作之一:选取\(l,r\),将\(p[l:r]\)循环右移,代价为\(A\);选取\(l,r\),将\(p[l:r]\)循环左移,代价为\(B\)。求将\(p\)排序所需的最小代价。\(n\le5000\)。技巧:循环移位→插入→实数坐......
  • 【linux】gcc编译选项:-fomit-frame-pointer,-fno-tree-vectorize,-fno-strict-aliasing
    Date:2018.9.81、参考https://www.cnblogs.com/islandscape/p/3444122.htmlhttps://blog.csdn.net/chdhust/article/details/8462414https://gcc.gnu.org/onlinedocs/gcc-6.2.0/gcc.pdfhttps://blog.csdn.net/u012927281/article/details/50999138https://blog.csdn.net/sof......
  • 2023.7.19 周三:冒泡排序
    1importjava.sql.SQLOutput;2importjava.util.Arrays;3importjava.util.Scanner;4//冒泡排序5publicclasstest{6publicstaticvoidmain(String[]args){7int[]a={5,4,6,8,9,1,7,2,3};8intarray[]=sort(a);9S......
  • 2023“钉耙编程”中国大学生算法设计超级联赛(1)
    1001Hide-And-SeekGame题意:给出一颗树,两人在树上特定两点来回走,问最早在那个节点相遇思路:枚举所有点,看它是否同时在两条链上,如果在,那么结合周期、两人最早到达时间,返回到达时间得到4个同余方程(拓展欧几里得),然后得到最小可能解#pragmaGCCoptimize(2)#pragmaGCCoptimize(3......
  • 20230719巴蜀暑期集训测试总结
    T1赛时打了一个\(O(n^3)\)\(16pts\)暴力和一个似乎可以过一个\(20pts\)特殊性质但其余无正确性的贪心。结果出来发现特殊性质挂了一个点,另一个地方还莫名其妙对了。说明特殊性质挂掉了,如果运气不好可能就挂到\(16pts\)了。考后看题解发现\(O(n^2)\)其实也是不难想的,有点......