java - 为 JVM 事件启用跟踪/调试
问题描述
我在重负载机器上的 java 进程有一些问题,java 进程卡住了大约 40-45 分钟。在这 40-45 分钟之后,一切都会恢复,没有任何问题。
从我看到的那段时间盒子负载很重,所以我假设java进程没有安排在那段时间执行......
是否有任何标志可以添加到 JVM,以便我可以查看在该时间范围内发生的事件?
问候,
克里斯蒂
解决方案
这就是我一直在寻找的:
-XX:+PrintTenuringDistribution -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=/var/application/log/`date +%F_%H-%M-%S`_jvm.log -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:/var/application/log/`date +%F_%H-%M-%S`_gc.log
推荐阅读
- javascript - 如何在没有访问密钥和密钥的情况下写入只写 SQS 队列
- sql-server - 如何在 SQL Linq 中返回 3 个最低分数?
- asp.net - Azure Offline Authentication
- python - Extracting slots from list of lists in python
- amazon-web-services - How to download SSL certificates from a S3 bucket with necessary policies to a Gradle application running on my FARGATE container
- java - Looking to the internal code of System.out.println wants to understand how it works?
- javascript - JS:如何通过某个键/属性合并/连接对象数组?
- php - 全局指定的自定义项目 Composer 供应商路径,但与全局供应商路径不同
- asp.net - 为什么 PartialView 方法总是返回空视图?
- latex - 在 Miktex 发行版中找不到 kpsewhich