来自 AWS Lambda 的 JVM GC 日志记录?
JVM GC logging from AWS Lambda?
任何人都可以建议一个适用的策略来记录 AWS Lambda 执行中的 GC 事件吗?
我正在研究尽可能接近 -XX:+PrintGC
类日志记录的东西,但由于我无法真正将任何启动参数发送到 lambda JVM 进程,似乎唯一的方法是通过实时JMX 自省?如果那是唯一的方法,适用于 AWS Lambda 的任何库或标准化方法(不幸的是,依赖于 运行 过程的工具,如 VisualVM 是不可能的)?
在jdkbin目录下使用jvisualvm。这是一个很棒的工具
我不熟悉 AWS Lambda,但如果您正在寻找 JMX 自省
您可以通过下面的 link 找到代码示例。
遗憾的是,JMX 信息不如 GC 日志丰富,但可以获取一些信息,例如每代内存动态。
它不适用于所有可用参数,但您可以在 AWS lambda 中设置 JAVA_TOOL_OPTIONS 环境变量来传递此类标志。例如,我经常传递“-verbose:class”来调试糟糕的冷启动性能。
任何人都可以建议一个适用的策略来记录 AWS Lambda 执行中的 GC 事件吗?
我正在研究尽可能接近 -XX:+PrintGC
类日志记录的东西,但由于我无法真正将任何启动参数发送到 lambda JVM 进程,似乎唯一的方法是通过实时JMX 自省?如果那是唯一的方法,适用于 AWS Lambda 的任何库或标准化方法(不幸的是,依赖于 运行 过程的工具,如 VisualVM 是不可能的)?
在jdkbin目录下使用jvisualvm。这是一个很棒的工具
我不熟悉 AWS Lambda,但如果您正在寻找 JMX 自省 您可以通过下面的 link 找到代码示例。
遗憾的是,JMX 信息不如 GC 日志丰富,但可以获取一些信息,例如每代内存动态。
它不适用于所有可用参数,但您可以在 AWS lambda 中设置 JAVA_TOOL_OPTIONS 环境变量来传递此类标志。例如,我经常传递“-verbose:class”来调试糟糕的冷启动性能。