一個簡單的監控java進程獲取日志的辦法


公司里面一個長時間運行的環境會出現問題, 這邊簡單寫了一個腳本自動獲取日志信息

腳本如下

注意 我的path 其實就是復用的 我們應用里面的jdk  剩下的就非常簡單了.

每個日志都自動打包 並且移除源文件來減少磁盤占用量. 

export PATH=$PATH:/gscloud/jstack/runtime/java/x86_64-linux/bin/
export pid=`jps |grep caf-bootstrap.jar |awk '{print $1 }' `
echo $pid
export now=`date +%Y%m%d%H%M`
echo $now
cd /javalog
jcmd $pid VM.flags >> $now.log
jcmd $pid Thread.print >> $now.log
jcmd $pid GC.class_histogram >> $now.log
jcmd $pid GC.heap_info >> $now.log
tar -zcvf $now.log.tar.gz $now.log --remove-files

設置后之后放到 /javalog 目錄下面

然后執行一個計划任務就可以

crontab -e
輸入
*/2 * * * * /javalog/java.sh

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM