V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Geekerstar  ›  全部回复第 3 页 / 共 16 页
回复总数  303
1  2  3  4  5  6  7  8  9  10 ... 16  
@julyclyde 就开了参数,我们系统是 CPU 和 IO 都密集,用了 G1 之后发现 full gc 的 STW 的最高耗时确实比默认的要低了很多。用的 java8
感谢,最近项目有用到 G1
我也发现了,我现在 chrome 占用 5g
95 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@spkingr #47 目前为止没有复现,只出现了一次。要是能复现的话就能找到原因了。
95 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@julyclyde #41 我顺着你的这个思路查了一下,应该是找到为啥提示 session deactivated 的原因了。9.23 日让客户改一下启动脚本,加一下打印 GC 日志的参数,结果客户把最后一句去掉了 > /dev/null 2>&1 & ,这个会导致持续将日志写到 nohup.out 里。
95 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@spkingr 目前感觉大概率和 websocket 有关,排查了系统发现这种线程“XNIO-1 I/O-6” 只有在 websocket 断开连接的时候会使用。有可能是 websocket 断开连接的时候,有用到 undertow 和底层的 netty 的相关操作导致的。我怀疑是前端先建立某个连接,然后持续了很久,后端因为什么原因这个连接断开了,前端再发起断开连接请求,就导致这个问题。
95 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@julyclyde #41 有启动脚本,我昨天也怀疑是不是在 shell 里手动启动的服务,但是和这个日期匹配不上。2w 1d 21h 28min 5.200 。这个日期要长于我们上次发版的日期。
96 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@cyningxu 是的,非常感谢大家,我也喜欢这种氛围。
96 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@hrapunzel #33 好的,我试一下,堆外内存默认 xmx 一样的 2g ,感觉 2g 应该够用了。我查了一下:如果 JVM 试图分配堆外内存(例如通过 ByteBuffer.allocateDirect()分配直接内存),但操作系统的内存资源已经耗尽,JVM 通常不会直接触发 SIGSEGV ,而是抛出 java.lang.OutOfMemoryError: Direct buffer memory 。JVM 本身一般不会直接因为堆外内存不足触发 SIGSEGV ,但如果程序使用了 JNI 、本地库或者使用了不安全的操作(例如 Unsafe 类),在处理内存时可能会导致 SIGSEGV
96 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@ZZ74 #28 我们发送的是 JSON 的字符串,不是文件。您最后一句话是啥意思呢?是指可能是因为并发导致的吗
96 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@hrapunzel 这个服务器 128g ,目前只用了十多 G
96 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
操作系统是 ubuntu ,检查 syslog 日志,发现一个信息,不知道是否有关联:
1 、程序最后一行 info 日志时间是,2024-10-09 08:52:57.251 ,无错误日志。
2 、检查 Syslog 日志,发现同一秒有下面的日志:
Oct 9 08:52:57 lenovo-07 systemd[1]: session-2106.scope: Deactivated successfully.
Oct 9 08:52:57 lenovo-07 systemd[1]: session-2106.scope: Consumed 2w 1d 21h 28min 5.200s CPU time.
96 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@hideon 没有手动 dump ,因为当时 JVM 直接挂了。也没有自动生成 Dump 文件。您说的这个 ws 瞬间连接增大有一定道理,但是我们这个是内网使用,不会有很多人同时使用。以前有过 OOM ,是因为 ws 连接一直没释放,导致后端有引用在无法回收部分垃圾。但是目前已经加了五分钟自动断开重连 ws 的机制了。ws 推送的频次和数据量确实很高。毫秒级的。
96 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@ZZ74 #20 查了一下,Undertow 使用 Java NIO ( non-blocking I/O )来处理 WebSocket 和 HTTP 连接。NIO 会使用 ByteBuffer ,其中包括堆外内存( Direct ByteBuffer )。有可能和这个有关系么?
96 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@ZZ74 #20 感谢大佬,AbstractFramedChannel.flushSenders()应该是 undertow 底层推送 ws 的时候调用的,系统中有 websocket 推送,数据量和频次很高,快的话几毫秒一次。但是据说出问题那会儿没有停留在有 ws 推送的页面。flushSenders 是给 web 客户端发送数据。
96 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@willbetter 磁盘还有几个 T ,文件句柄看日志也正常范围
96 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@D3EP 没有哦,我们程序有 websocket 推送,而且 web 框架是用的 undertow ,好像底层有 netty ,但是没有直接在业务代码里操作 netty
96 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@ZZ74 #14 大佬能否帮忙分析一下呢?实在找不到问题了,这是几张完整的监控截图。大概八点四五十的时候用户开始使用的,之后没数据是因为 JVM 退出了。
https://imgse.com/i/pAJpwrD
https://imgse.com/i/pAJp0qe
https://imgse.com/i/pAJpdKO

这是 hs_err_pid1301132.log 文件
pan 点 baidu 点 com/s/1hZ5Fb8Nir458vSiS14XY-Q 提取码: cgpp
96 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@ZZ74 我从监控平台看了下内存那些都很正常的呢? https://imgse.com/i/pAGLDy9
https://imgse.com/i/pAGLBQJ 程序有大量的 IO 和 CPU 操作,用的 undertow 框架。
96 天前
回复了 Geekerstar 创建的主题 Java SpringBoot 程序运行中突然中止, JVM 退出
@serverKnignt #7 应该不是,查了系统日志没发现啥问题
1  2  3  4  5  6  7  8  9  10 ... 16  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3545 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 04:29 · PVG 12:29 · LAX 20:29 · JFK 23:29
Developed with CodeLauncher
♥ Do have faith in what you're doing.