簡體   English   中英

自動化Tomcat線程/堆轉儲以進行進一步分析

[英]Automating Tomcat Thread/heap dump for further analysis

我正在tomcat上運行Web應用程序。 當有許多請求被觸發時,Tomcat進程將被掛起。 由於這是一個生產Web應用程序,因此我無法一直監視手動獲取tomcat Java進程/線程轉儲。

我已經在tomcat上啟用了jmx遠程端口

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=2222 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true

我的問題是:當tomcat進程達到較高的CPU [線程數] /內存使用率/已掛起時,我們可以在那時將該tomcat線程轉儲自動收集到所需的磁盤位置嗎(命令行或以編程方式)?

這些選項:

JAVA_OPTS='-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dir'

當Tomcat內存不足時,它將進行核心轉儲。

在這種情況下, -verbose:gc選項也可能有用。

B.2.3 -verbose:gc選項

-verbose:gc選項啟用日志記錄垃圾收集(GC)信息。 可以將其與其他HotSpot VM特定選項結合使用,例如-XX:+PrintGCDetails-XX:+PrintGCTimeStamps以獲得有關GC的更多信息。 信息輸出包括每個GC之前和之后的世代大小,堆的總大小,升級的對象的大小以及花費的時間。

HotSpot VM故障排除指南>命令行選項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM