RocketMQ避坑指南:springcloud教程权威指南
1. Java 堆空间
**发生频率:**5颗星
造成原因
无法在 Java 堆中分配对象
吞吐量增加
应用程序无意中保存了对象引用,对象无法被 GC 回收
应用程序过度使用 finalizer。finalizer 对象不能被 GC 立刻回收。finalizer 由结束队列服务的守护线程调用,有时 finalizer 线程的处理能力无法跟上结束队列的增长
解决方案
单位对应:GB -> G, g;MB -> M, m;KB -> K, k
使用 -Xmx 增加堆大小
修复应用程序中的内存泄漏
2. GC 开销超过限制
**发生频率:**5颗星
造成原因
- Java 进程98%的时间在进行垃圾回收,恢复了不到2%的堆空间,最后连续5个(编译时常量)垃圾回收一直如此。
解决方案
使用 -Xmx 增加堆大小
使用 -XX:-UseGCOverheadLimit 取消 GC 开销限制
修复应用程序中的内存泄漏
3. 请求的数组大小超过虚拟机限制
**发生频率:**2颗星
造成原因
- 应用程序试图分配一个超过堆大小的数组
解决方案
使用 -Xmx 增加堆大小
修复应用程序中分配巨大数组的 bug
4. Perm gen 空间
**发生频率:**3颗星
造成原因
Perm gen 空间包含:
类的名字、字段、方法
与类相关的对象数组和类型数组
JIT 编译器优化
当 Perm gen 空间用尽时,将抛出异常。
解决方案
使用 -XX: MaxPermSize 增加 Permgen 大小
不重启应用部署应用程序可能会导致此问题。重启 JVM 解决
5. Metaspace
**发生频率:**3颗星
造成原因
- 从 Java 8 开始 Perm gen 改成了 Metaspace,在本机内存中分配 class 元数据(称为 metaspace)。如果 metaspace 耗尽,则抛出异常
解决方案
通过命令行设置 -XX: MaxMetaSpaceSize 增加 metaspace 大小
取消 -XX: maxmetsspacedize
减小 Java 堆大小,为 MetaSpace 提供更多的可用空间
为服务器分配更多的内存
可能是应用程序 bug,修复 bug
6. 无法新建本机线程
**发生频率:**5颗星
造成原因
- 内存不足,无法创建新线程。由于线程在本机内存中创建,报告这个错误表明本机内存空间不足
解决方案
为机器分配更多的内存
减少 Java 堆空间
修复应用程序中的线程泄漏。
增加操作系统级别的限制
ulimit -a
用户进程数增大 (-u) 1800
- 使用 -Xss 减小线程堆栈大小
7. 杀死进程或子进程
**发生频率:**1颗星
造成原因
- 内核任务:内存不足结束器,在可用内存极低的情况下会杀死进程
解决方案
将进程迁移到不同的机器上
给机器增加更多内存
与其他 OOM 错误不同,这是由操作系统而非 JVM 触发的。
8. 发生 stack_trace_with_native_method
**发生频率:**1颗星
造成原因
本机方法(native method)分配失败
打印的堆栈跟踪信息,最顶层的帧是本机方法
解决方案
使用操作系统本地工具进行诊断
Java面试核心知识点笔记
其中囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。
Java中高级面试高频考点整理
更多Java进阶知识笔记文档分享,这些对于面试还是学习来说都是一份不错的学习资料
有需要的朋友可以戳这里即可免费领取
最后还分享Java进阶学习及面试必备的视频教学
以戳这里即可免费领取](https://gitee.com/vip204888/java-p7)**
[外链图片转存中…(img-k6MhRPRQ-1627101877642)]
最后还分享Java进阶学习及面试必备的视频教学
[外链图片转存中…(img-1OBXryri-1627101877644)]
RocketMQ避坑指南:springcloud教程权威指南相关推荐
- mysql权威指南 代码_mysql权威指南学习札记
mysql权威指南学习笔记 1,mysql的标示符最多就64个字符 2,drop table table1,table2,table3;删除多个table的时候用,号分隔开,为了避免不必要的错误,我们 ...
- RocketMQ避坑指南:java后端开发电脑配置
结构化数据.非结构化数据与半结构化数据 文章的开始,聊一下结构化数据.非结构化数据与半结构化数据,因为数据特点的不同,将在技术上直接影响存储引擎的选型. 首先是结构化数据,根据定义结构化数据指的是由二 ...
- java jsp学习指南_JSP教程–最终指南
java jsp学习指南 编者注: JavaServer Pages(JSP)技术使您可以轻松创建同时包含静态和动态组件的Web内容. JSP技术提供了Java Servlet技术的所有动态功能,但提 ...
- ExoPlayer播放器 开发者指南(官方权威指南译文)
前言 因为公司项目原因,目前开始研究ExoPlayer的原理及实现.其中对DRM更是有所涉及,因此自己也好借此机会扩展自己的音视频知识,同时写出一些自己的技术总结与分享,希望对其他学习此播放器的朋 ...
- Cocos2D权威指南
Cocos2D权威指南 作者:王寒 屈光辉 周雪彬 出版社:机械工业出版社 出版年:2013-3 页数:671 定价:99.00元 ISBN:9787111414100 样章下载:http://wen ...
- Kubernetes权威指南(下)
Phineas # Kubernetes权威指南<Kubernetes权威指南>第5版勘误:https://github.com/kubeguide/K8sDefinitiveGuide- ...
- 《Neo4J 权威指南》知识点总结
目录 Neo4j Neo4j 权威指南 知识点梳理 Neo4j Neo4j 是目前图数据库领域最流行的数据库,在知识图谱等应用上,主要采用 Neo4j,因为其简单.性能好.强大.其推出的 Cypher ...
- 【技术分享】戴尔工作站安装Win10+Ubuntu20.04双系统教程与避坑指南
文章目录 引言 1.安装前的几个注意事项(避坑指南) 1.1.有多块硬盘,该如何分配给Win10和Ubuntu系统? 1.2.Ubuntu分区应该怎么分? 2.系统安装步骤 2.1.下载系统镜像 2. ...
- kali子系统安装教程(包含避坑指南,新手必看!)
#版权声明:图中含有知乎@王维同学字样的,是我在知乎的号,不是盗的文章!这篇文章比知乎更详细!! 1.开启安装Linux子系统需要的扩展 Win+Q搜索功能 勾选需要的扩展,Hyper-V.Windo ...
最新文章
- 达摩院清华博士研发了一个AI摸鱼神器!有了它,老板都不好意思打扰你
- JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念...
- 服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka
- event.x,event.clientX,event.offsetX区别
- 弗林斯传输公式、天线温度
- matlab地址数据类型uns,使用matlab生成sine波mif文件
- [Remoting]dotNet Framework升级后Remoting信道使用的安全问题
- 微型计算机控制课程设计,《微型计算机控制技术》课程设计
- JDK帮助文档无法打开的常见问题和解决办法
- DBConvert Studio - 数据库迁移和同步 - Crack
- 攻防世界-杂项-simple_transfer
- 软件测试工程师未来十年的职业规划
- 计算机自动维护有用吗,Win10系统关闭自动维护功能提高系统运行速度
- 反病毒工具-Wireshark
- usc week 5 计算几何(包含凸包) 队内练习题
- 虚拟机连不上网问题详解
- 如何锁定计算机硬盘,详细教您如何给硬盘加密
- 机器学习(一) 贝叶斯法则与概念学习
- VScode 淡绿色界面
- 4x root 红米_红米手机4x如何获取root权限?
热门文章
- R软件中 文本分析安装包 Rjava 和 Rwordseg 傻瓜式安装方法四部曲
- Asp.net MVC 4新项目中创建area的后续操作
- Android开发和调试必备工具-SDK Tools
- Linux 引导管理器 grub2 使用简介
- html option ajax,Ajax实现简单下拉选项效果【推荐】
- 华中师范大学邮箱matlab,18春[华中师范大学]华师《Matlab基础与应用》在线作业1(100分)...
- php7如何安装swoole,PHP7如何安装Swoole?
- java struts2 excel上传_文件上传方法,使用Struts2,实现Excel文件读取并写入数据库技术...
- puppet enc mysql_精通Puppet配置管理工具
- linux 查看下挂磁盘,linux下磁盘挂载与查看