JVM 内存调优总结贴

1 GC Collector

https://www.oracle.com/technetwork/java/javase/tech/memorymanagement-whitepaper-1-150020.pdf

百度安全验证

Serial GC

Parallel GC

CMS

http://www.fasterj.com/articles/oraclecollectors1.shtml

PS Scavenge
PS MarkSweep 

Java HotSpot Garbage Collection

G1 GC

怎样选择GC Collector
https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/collectors.html
 

GC tunning
https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/toc.html

Java8的默认GC参数_wank1259162的博客-优快云博客_jdk8 默认gc

查看JDK默认使用的GC

2 JVM 调优

Flink 任务内存泄漏导致频繁 Full FC 导致 CPU 暴增问题排查 | Hang Jiang

Application Profiling & Debugging | Apache Flink

centos系统 JVM性能调优监控工具jps、jstack、jstat、jmap、jinfo的安装_无、涯的博客-优快云博客_jstat安装

https://www.jianshu.com/p/f18f0494e8ab

Flink 内存值设定

Flink内存设置思路 - dark_saber - 博客园

### JVM 内存指南 JVM 内存Java 应用程序性能和稳定性的关键步骤。通过合理配置 JVM 内存参数,可以显著提升应用的响应速度、吞吐量,并减少垃圾回收(GC)停顿时间。以下是一些常见的 JVM 内存方法和最佳实践。 #### 堆内存设置 堆内存JVM 中用于对象分配的主要内存区域。合理设置堆内存大小可以避免频繁的垃圾回收操作。通常,可以通过以下参数来设置堆内存- `-Xms`:设置 JVM 初始堆内存大小。 - `-Xmx`:设置 JVM 最大堆内存大小。 对于具有 8 核心和 32GB 内存的机器,推荐的堆内存设置可以是: ```shell -Xms4g -Xmx8g ``` 这表示初始堆内存为 4GB,最大堆内存为 8GB。这样的设置可以确保应用有足够的内存来处理负载,同时避免占用过多系统资源[^1]。 #### 垃圾回收器选择 选择合适的垃圾回收器对于化应用性能至关重要。JVM 提供了多种垃圾回收器,每种回收器适用于不同的应用场景: - **Serial GC**:适用于单线程应用。 - **Parallel GC**:适用于多线程应用,注重吞吐量。 - **CMS GC**:适用于低延迟要求的应用。 - **G1 GC**:适用于大堆内存应用,平衡吞吐量和延迟。 例如,使用 G1 垃圾回收器的参数设置如下: ```shell -XX:+UseG1GC ``` G1 GC 能够有效地管理大堆内存,并且在大多数情况下提供较低的延迟[^1]。 #### 元空间设置 在 JVM 8 及更高版本中,元空间(Metaspace)取代了永久代(PermGen)。元空间用于存储类的元数据信息。可以通过以下参数来设置元空间: - `-XX:MetaspaceSize`:设置元空间初始大小。 - `-XX:MaxMetaspaceSize`:设置元空间最大大小。 例如: ```shell -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m ``` 这表示初始元空间为 256MB,最大元空间为 512MB。这样的设置可以避免元空间占用过多内存,同时确保应用有足够的空间来加载类[^1]。 #### 垃圾回收日志记录 启用垃圾回收日志记录可以帮助分析和化垃圾回收性能。可以通过以下参数来启用垃圾回收日志记录: ```shell -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/path/to/gc.log ``` 这些参数会记录详细的垃圾回收信息到指定的日志文件中,便于后续分析。 #### 线程栈大小设置 线程栈大小影响应用的并发能力和内存使用。可以通过以下参数来设置线程栈大小: - `-Xss`:设置每个线程的栈大小。 例如: ```shell -Xss512k ``` 这表示每个线程的栈大小为 512KB。较小的栈大小可以增加并发线程数,但可能会导致栈溢出问题。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值