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

您好,这里是码农镖局CSDN博客,欢迎您来,欢迎您再来~


某新手开发工程师接到了一个保存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模板示例:

 


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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#盯盘小工具,“监”

也是一个小工具,用来看大A股票和主要指数行情的。 如果你是一个上班族,同时你也是一颗小韭菜,a股在开市交易盘中时刻惦记着股票是涨了还是跌了,却不能时刻盯着手机看行情,也不能在电脑上开着同花顺来回切窗口&#xff…

数据可视化自助式分析工具:jvs-bi数据扩展及函数配置说明

jvs-bi数据拓展节点 数据拓展是数据可视化加工过程中的重要工具,它核心的作用是对原有数据表进行加工扩展,实现功能如下图所示 函数配置操作过程 操作说明 1、拖动数据拓展字段,并将字段拓展与之前的历史节点连接起来,点击数据拓…

全面深入理解MySQL自增锁

💗推荐阅读文章💗 🌸JavaSE系列🌸👉1️⃣《JavaSE系列教程》🌺MySQL系列🌺👉2️⃣《MySQL系列教程》🍀JavaWeb系列🍀👉3️⃣《JavaWeb系列教程》…

在 3ds Max 中对链模型进行摆放姿势处理

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 建模和“摆姿势”3D链可能看起来是一项繁琐的工作,但实际上可以通过使用阵列工具并将链中的链接视为骨骼来轻松完成。在本教程中,我将向您展示如何对链条进行建模,并通过…

16. 存储过程和存储函数

文章目录 1.存储过程和存储函数2.创建和使用存储过程2.1 语法:2.2 第一个存储过程,打印hello world2.3 调用语法2.4 带参数的存储过程2.5 调试存储过程 3.创建和使用存储函数3.1 存储函数定义3.2 存储函数语法:3.3 存储函数案例: …

C++初探

目录 经典开头 — C的历史 作用域运算符 using的用法 命名空间 - namespace 命名空间的基本使用 特殊的命名空间 - 无名命名空间 全部展开和部分展开 std — C所有的标准库都在std命名空间内 省缺值 - 默认参数 占位参数 内联函数 - inline 函数重载 函数重载的用…

如何撤销git上一次的commit(或已push)

如何撤销git上一次的commit(或已push) 当多人开发时,我们本地commit后,刚要push,发现忘记pull最新代码,此时会有冲突push失败, 我们想要撤销最近的一次commit 我们先简单介绍一下git git有三大…

Python爬虫——urllib_ajax的get请求爬取豆瓣电影前十页

ajax: 就是一段js代码,通过这段代码,可以让页面发送异步的请求,或者向服务器发送一个东西,即和服务器进行交互 对于ajax: 一定会有 url,请求方法(get, post),可能有数据一般使用 j…

DBeaver数据库管理工具安装连接PostgreSQL和DM

文章目录 1. 安装2. 连接PostgreSQL3. 连接DM83.1 下载驱动3.2 添加驱动3.3 连接3.4 创建表空间和用户3.5 执行sql 4. 连接Mysql 1. 安装 下载地址 https://dbeaver.io/download/ 2. 连接PostgreSQL 配置显示所有数据库 第二个勾选会显示模板数据库 点击测试连接&#xff0…

linux之Ubuntu系列(三)远程管理指令☞Scp

cp scp cp 复制文件 是限制在本地操作 scp: 远程拷贝文件 cp [options] 源文件or 目录 目标文件or 目录 如果复制目录,要加 -r 选项 ,同时如果目标目录不存在,会会创建 scp scp就是 secure copy,是一个在linux下用来…

在 Linux 系统上下载 Android SDK

使用ubuntu系统进行车机开发,今天开始配置环境,首先是下载android studio,然后下载android sdk,这里需要注意的是linux系统不能使用windows系统下的Android sdk,亲测会出现各种问题。 常规思路,下载sdk&am…

视频问答新增或修改视频问答

通过问答id新增或修改视频问答题目 新增或修改视频问答 图3:视频问答功能(观看效果) 图4:视频问答功能(观看效果) 图5:视频问答功能(观看效果) 单元测试 Testpublic voi…

基于单片机的智能窗帘智能晾衣架系统的设计与实现

功能介绍 以STM32单片机单片机作为主控系统;OLED液晶显示当前环境温湿度,光照强度,时间,开关状态等信息;雨滴传感器检测当前环境是否下雨,天气下雨检测,天气潮湿时自动收衣服;可以通…

Spring(一):Spring 的创建和使用

目录 Spring 是什么? 什么是容器? 什么是 IoC? 什么是 IoC? IoC的优点是啥呢? 理解 IoC DI 概念说明 Spring 的创建 创建 Spring 项目 1. 创建⼀个普通 Maven 项⽬。 2. 添加 Spring 框架⽀持(s…

TMS Aurelius v5.15 Source Crack

TMS Aurelius v5.15 Source Crack 面向Delphi的ORM框架,完全支持数据操作、复杂和高级查询、继承、多态等。。。 功能详细信息 支持多个数据库服务器(MS SQL Server、Firebird、MySQL、DB2、Interbase、Oracle等) 支持多个数据库访问组件(dbExpress、AnyDac、SQLDir…

图解Vit 2:Vision Transformer——视觉问题中的注意力机制

文章目录 Patch Embedding 回顾Seq2Seq中的attentionTransformer中的attention Patch Embedding 回顾 上节回顾 Seq2Seq中的attention 在Transformer之前的RNN,其实已经用到了注意力机制。Seq2Seq。 对于Original RNN,每个RNN的输入,都是对…

电路分析 day01 一种使能控制电路

本次分析的电路为 一种使能控制电路 (站在别人的肩膀上学习) 资料来源 : 洛阳隆盛科技有限责任公司的专利 申请号:CN202022418360.7 1.首先查看资料了解本次电路 1.1 电路名称: 一种使能控制电路 1.2 电路功能…

Midjourney助力交互设计师设计网站主页

Midjourney的一大核心优势是提供创意设计,这个功能也可以用在网站主页设计上,使用Midjourney prompt 应尽量简单,只需要以"web design for..." or "modern web design for..."开头即可 比如设计一个通用SAAS服务的初创企…

vue进阶-消息的订阅与发布

📖vue基础学习-组件 介绍了嵌套组件间父子组件通过 props 属性进行传参。子组件传递数据给父组件通过 $emit() 返回自定义事件,父组件调用自定义事件接收子组件返回参数。 📖vue进阶-vue-route 介绍了路由组件传参,两种方式&…

C#线性插值,三角插值

什么是插值? 是什么?很简单! 已知两点,推断中间的每一点的过程。 有什么用? 很简单!位置从30到40耗时3秒求每一时刻的位置! 1.线性插值 设v是结果,start是开始,end是结…