Linuxのグラブスナップショットなど、関連するメモリ、スレッド、ファイルハンドル、下のTomcatは、トラブルシューティングに使用します。

次のスクリプトは、定期的なタスクで推奨され、cronを書かれた式は、業務システムに影響を与えることなく、情報の分析とトラブルシューティングシステムパフォーマンスのボトルネックの一部をダンプします。

そのため(数秒から数十秒の範囲)たびに、JVMのダンプ一時停止します。したがって、生産システムに警告します。したがって、任意の損失は、このブロガーとは何の関係もwreakません。

 

crontabの-e

* 21-8 / 1 * * * /var/erp/data/dump.sh >> /var/erp/data/dump.log 2>&1(スクリプト未確認)

ダンプ。SH 
!/ binに/ bashの
PID = ` psの -ef | grepの ' org.apache.catalina.startup.Bootstrap ' | グレップの Tomcatの| AWK  ' {$ 2印刷} ' ` 
CURRENT = $(日付 +%Y-%M-%D-%のH.%M.%のS)
STAT_DIR = / VAR / ERP / のjvmstat 

jmapの -dump:フォーマット= B、ファイル = $ STAT_DIR / MEM-dump- $ CURRENT.bin $ PID 
jstack -l $ PID> $ STAT_DIR / jstack- $ CURRENT.txt 
#のファイルハンドラ
 のls / procの/ $ PID / FD |トイレ -l> $ STAT_DIR / ファイル -handler- $ CURRENT.txt 
のlsof -p $ PID >> $ STAT_DIR / ファイル -handler- $ CURRENT.txt 
#thread数
のls / procの/ $ PID /タスク| トイレ -l> $ STAT_DIR / threads- $ CURRENT.txt 
#network 
のnetstat -n | AWK  ' / ^ TCP / {++状態[$ NF]} END {のために(キーの状態で)印刷キー、 "\ tの"、状態[キー]} ' > $ STAT_DIR /ネットワーク- $ CURRENT.txt 
のnetstat -t >> $ STAT_DIR /ネットワーク- $ CURRENT.txt 
#mem 
の/ proc / $ PID /ステータス> $ STAT_DIRに/ proc-MEM-$ CURRENT.txt

 

おすすめ

転載: www.cnblogs.com/passedbylove/p/10948930.html