这个脚本主要是配合定时任务,前端通过echats 来实时显示Linux的Java服务内存情况。脚本也是我自己查阅一些博客琢磨的有什么问题可以指出,大家共同进步。pname就是需要监控的Java服务名
-
#!/bin/bash #jvm monitor source /home/pay/.bash_profile source /home/pay/.bashrll pname=("PmcBackendServer" "UpperBackendServer" "FrontServer" "HostBackendServer" "ContractBackendServer" ) for pname in ${pname[*]} do echo $loop pid=$(jps | grep $loop | awk '{print$1}') $pid heap=$(jmap -histo ${pid} | grep Total |tail -n l) echo $heap objectnums=$(echo $heap | awk '{print $2}') memory=$(echo $heap | awk '{print$3}') echo $objectnums echo $memory sqlplus abc/abc@PAY <<EOF insert into p_jvm_monitor values ('192.32.0.1','$pname',$objectnums,$memory,to_char(sysdate,'yyyy-mm-dd HH24:mi:ss')) EOF done;