遇到长GC停顿、CPU满载、内存泄露、JVM崩溃等高频问题,看这里!

简介: 遇到长GC停顿、CPU满载、内存泄露、JVM崩溃等高频问题,看这里!

2020/09/20 PerfMa成立三周年了,同时PerfMa技术社区上线也一周年了,做个小结,以慰时间之慨


PerfMa技术社区


社区成立之初期望达到的效果是


  • 技术人的伊甸园
    在JVM里内存分代有块区域叫Eden(伊甸园,虽然我从不这么翻译,感觉在这里还挺合适),绝大部分对象分配都会在Eden里分配,我们也希望在这里诞生很多牛逼的技术专家。
  • 最全的性能案例库
    希望大家能在这里分享性能问题排序经验,让大家少走弯路。
  • 全球最大的JVM参数交流社区
    JVM参数有几千个,没有人能了解所有的参数,在这里大家可以分享自己JVM参数调优经验,踩坑经验,问题,希望上这个社区就够了。
  • 便捷好用的产品
    我们为社区准备了一系列免费的社区分析产品,和社区进行深度绑定,比如你有JVM参数,线程,内存等问题,可以直接使用社区免费的分析产品来解决。


回顾过去的一年,社区沉淀了数百篇性能排查调优实战文章,覆盖了长GC停顿、CPU满载、堆/堆外/metaspace/perm/系统内存泄露、JVM崩溃等高频问题领域,上千例性能问题定位疑难案例,几十位业界顶级专家在线公益答疑,出品了 JVM 调优体系课程,注册用户突破十万。铭记之事逐渐清晰,满心欢喜。

 

感谢阿菜、阿飞Javaer、阿飞云、cocodroid、CoderMeng、crossoverJie、cxuan、Edenbaby、landon30、MartinDai、涤生、二进制之路、冯涛、后端技术漫谈、煎鱼、kenel、geekoftaste、肥朝、匠心零度、空无、楼顶凉席看星星星、若岛、since1986、十三、孙玄、兔兔七、挖坑的张师傅、武培轩、西湖の风、onedaylin、Rockets、侠梦、小蓝鲸、Linux内核之旅、Vi的技术博客、xindoo、YourBatman、巡山小汪、叶易、占小狼、张银奎、朱纪兵、朱小厮、猪杂汤饭...等大大分享的技术干货并帮助小伙伴解惑。

 

免费的性能分析产品



XXFox - Java虚拟机参数分析


专门提供了参数查询,参数检查,参数变迁,参数优化,参数生成等功能,方便大家解决JVM参数的各种场景下的问题。每周数千人次使用,帮助了数十万用户解决JVM参数调优问题

a.jpg


XSheepdog - Java线程Dump分析


从线程的各个维度,包括锁,方法,栈,线程池,线程状态等给出一些方便大家快速定位问题的功能,从而减少自己解决这类问题的时间。每日数百次的使用,帮助用户分析解决了数万例线程疑难杂症

b.jpg


XElephant - Java内存Dump分析


可以让内存里对象之间的各种依赖关系更加清晰明了,无需安装软件,提供上传方式,不受本地机器内存限制,支持超大Dump文件分析。每日近百次的调用,用户累计上传了近万份问题内存文件

c.jpg


XPocket - Java应用综合体检工具


通过简单的交互,可以对Java程序进行综合体检,集成了JVM参数优化、线程Dump分析等功能。帮助数万用户更快更便捷的获得 Dump 文件并分析

d.jpg


免费的Java干货课程


提供了免费的 Java 干货课程,已有近万用户进行了学习,帮助大家从基础开始了解JVM的奥秘,后续将推出更多的精品课程。


e.jpg


one more thing


上文提到的 Java 应用综合体检工具- XPocket 社区后续会以开源的模式进行运营,并且经过三个月的成长,现在的功能更加强大了。

相关文章
|
3月前
|
Java 编译器 Linux
JVM/编译器/CPU,究竟谁是卧底?一个曾经困扰我一个月的 bug
任何复杂的系统都可能因为一个小小的疏漏而无法运转,本文记录了一个困扰作者一个月的 bug 最终拨云见日的过程。
|
13天前
|
弹性计算 Kubernetes Perl
k8s 设置pod 的cpu 和内存
在 Kubernetes (k8s) 中,设置 Pod 的 CPU 和内存资源限制和请求是非常重要的,因为这有助于确保集群资源的合理分配和有效利用。你可以通过定义 Pod 的 `resources` 字段来设置这些限制。 以下是一个示例 YAML 文件,展示了如何为一个 Pod 设置 CPU 和内存资源请求(requests)和限制(limits): ```yaml apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image:
|
1月前
|
缓存 算法 Java
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
这篇文章详细介绍了Java虚拟机(JVM)中的垃圾回收机制,包括垃圾的定义、垃圾回收算法、堆内存的逻辑分区、对象的内存分配和回收过程,以及不同垃圾回收器的工作原理和参数设置。
65 4
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
|
20天前
|
存储 监控 Java
JVM进阶调优系列(8)如何手把手,逐行教她看懂GC日志?| IT男的专属浪漫
本文介绍了如何通过JVM参数打印GC日志,并通过示例代码展示了频繁YGC和FGC的场景。文章首先讲解了常见的GC日志参数,如`-XX:+PrintGCDetails`、`-XX:+PrintGCDateStamps`等,然后通过具体的JVM参数和代码示例,模拟了不同内存分配情况下的GC行为。最后,详细解析了GC日志的内容,帮助读者理解GC的执行过程和GC处理机制。
|
22天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
195 2
|
1月前
|
Arthas 监控 Java
JVM知识体系学习七:了解JVM常用命令行参数、GC日志详解、调优三大方面(JVM规划和预调优、优化JVM环境、JVM运行出现的各种问题)、Arthas
这篇文章全面介绍了JVM的命令行参数、GC日志分析以及性能调优的各个方面,包括监控工具使用和实际案例分析。
46 3
|
1月前
|
算法 Java
JVM进阶调优系列(4)年轻代和老年代采用什么GC算法回收?
本文详细介绍了JVM中的GC算法,包括年轻代的复制算法和老年代的标记-整理算法。复制算法适用于年轻代,因其高效且能避免内存碎片;标记-整理算法则用于老年代,虽然效率较低,但能有效解决内存碎片问题。文章还解释了这两种算法的具体过程及其优缺点,并简要提及了其他GC算法。
 JVM进阶调优系列(4)年轻代和老年代采用什么GC算法回收?
|
2月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
138 5
|
2月前
|
监控 算法 Java
深入理解Java中的垃圾回收机制在Java编程中,垃圾回收(Garbage Collection, GC)是一个核心概念,它自动管理内存,帮助开发者避免内存泄漏和溢出问题。本文将探讨Java中的垃圾回收机制,包括其基本原理、不同类型的垃圾收集器以及如何调优垃圾回收性能。通过深入浅出的方式,让读者对Java的垃圾回收有一个全面的认识。
本文详细介绍了Java中的垃圾回收机制,从基本原理到不同类型垃圾收集器的工作原理,再到实际调优策略。通过通俗易懂的语言和条理清晰的解释,帮助读者更好地理解和应用Java的垃圾回收技术,从而编写出更高效、稳定的Java应用程序。
|
1月前
|
C# 开发工具 Windows
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
46 0