首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
wangyg
›
全部回复第 1 页 / 共 1 页
回复总数
4
36 天前
回复了
superhot
创建的主题
›
程序员
›
请教 Java OOM 及 JVM 相关的问题
1.内存使用率 93%是否正常?
在生产环境中,93%的内存使用率确实偏高。理想情况下,应该保持一定的空闲内存以应对突发的负载增加。通常建议将内存使用率控制在 70-80%左右。高内存使用率可能导致系统性能下降,并增加 OOM 风险。
2.JVM Heap 大小建议
根据提供的信息,你的 EC2 实例有 4GB 内存,当前 JVM 堆大小设置为 2847MB 。考虑到操作系统和其他服务也需要内存,这个设置已经很激进了。建议稍微减小堆大小,例如设置为 2560MB (-Xmx2560m )。这样可以为操作系统和其他进程留出更多空间。
3.JVM 非堆内存使用:
JVM 非堆内存( Metaspace 、CodeCache 、DirectByteBuffers 等)的使用量因应用程序而异。一般来说,这些区域可能占用 200MB-1GB 左右的内存。
判断依据:
- 使用 jconsole 或 jstat 等工具监控实际使用情况
- 分析堆转储( heap dump )文件
- 查看 hs_err_pid 日志中的内存使用信息
4.分析 OOM 的可能情况:
从你提供的 hs_err_pid 日志中,可以看到以下关键信息:
```
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 16384 bytes for committing reserved memory.
```
这表明 JVM 无法为本机内存分配请求分配更多内存。这可能是由于以下原因造成的:
a. 物理内存耗尽
b. 操作系统限制(如 ulimit 设置)
c. 内存碎片化严重
分析建议:
- 使用 jconsole 或 VisualVM 等工具监控 JVM 内存使用情况
- 分析堆转储文件,查找内存泄漏
- 检查 GC 日志,了解垃圾回收情况
- 检查系统日志,查看是否有其他进程占用大量内存
- 考虑使用 JVM 参数如-XX:NativeMemoryTracking=summary 来跟踪本机内存使用
总结,有以下几条建议:
1.调整 JVM 参数:
```
-Xmx2560m -XX:MaxMetaspaceSize=256m -XX:ReservedCodeCacheSize=240m
```
2.启用详细 GC 日志:
```
-Xlog:gc*=info:file=/path/to/gc.log:time,uptime,level,tags:filecount=5,filesize=100m
```
3.使用 jstat 等工具定期监控 JVM 内存使用情况。
4.检查应用程序代码,寻找可能的内存泄漏。
5.优化数据库查询和缓存策略,减少内存压力。
6.考虑使用 JVM 参数如-XX:+HeapDumpOnOutOfMemoryError 来在 OOM 时自动生成堆转储。
2023-05-25 01:44:47 +08:00
回复了
wwxxx
创建的主题
›
MacBook Pro
›
大家的 mac 一般用什么键盘
@
zhlxsh
我的 hhkb 也是有线的,用了 10 年了。怎么改蓝牙?求介绍或链接?
2023-02-02 00:14:52 +08:00
回复了
ultra
创建的主题
›
分享发现
›
阿里云盘开始限速了
同上。下载还行,能到 20m/秒,在线播放卡,还以为是没充值偷偷限速,结果充值后也卡。
2014-10-20 18:04:50 +08:00
回复了
Pixeller
创建的主题
›
macOS
›
昨晚升级 yosemite 后就再也连不上 vpn 了
我也是同样问题。不只如此,我有一只雷电接口的千兆网卡(Apple商店官方卖的那种),不管是dhcp还是manually,都无法连VPN。貌似只有Wi-Fi网卡在dhcp下才可以。PPTP以及L2TP都受此影响。
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
2917 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms ·
UTC 03:52
·
PVG 11:52
·
LAX 19:52
·
JFK 22:52
Developed with
CodeLauncher
♥ Do have faith in what you're doing.