常用Arthas命令
生活随笔
收集整理的這篇文章主要介紹了
常用Arthas命令
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
jad反編譯
- 檢查線上代碼是否修改成功,例如修改interface后看Jar包是否引入新的,或者代碼是否最新的。
watch命令查看函數入參,返回值
watch com.zhenai.counseling.business.provider.facade.supremecourse.RedeemRecordFacadeImpl canRedeem {params,returnObj} -x 2 //按耗時過濾 watch com.zhenai.counseling.business.provider.facade.supremecourse.RedeemRecordFacadeImpl canRedeem {params,returnObj} '#cost>200' -x 2 //調整-x的值,觀察具體的方法參數值, 4 標識遍歷的深度,比如返回值里面有對象也會被遍歷處理,對象里面還有對象,繼續遞歸 watch com.zhenai.counseling.business.provider.facade.supremecourse.RedeemRecordFacadeImpl canRedeem {params,returnObj} -x 4 ts=2021-07-06 16:21:05; [cost=12.879504ms] result=@ArrayList[@Object[][@Long[156],],@Boolean[false], ]- cost 標識耗時
- result 是整個watch命令的返回,我們監控的是入參,返回值,其中object是入參,boolean是返回值,按照你設置{params,returnObj} 的順序返回
- 最常用的方法,用于微服務接口數據排查,當有多個provider接口調用時候,可以逐個排查每個provider是否正常
thread繁忙的n個線程
thread -n 5 //打印阻塞線程 thread -b- 打印出最忙的n 個線程的堆棧信息。
- 這里的cpu使用率與linux 命令top -H -p 的線程%CPU類似,一段采樣間隔時間內,當前JVM里各個線程的增量cpu時間與采樣間隔時間的比例。
- 可直接打印對應id thread id 即可,打印阻塞線程,在排查計算密集型引用導致的CPU資源不夠情況下,排查具體那個業務線程耗CPU資源比較高。
系統相關
//查看當前JVM信息 jvm //查看當前所有屬性 sysprop //查看當前環境變量 sysenv //查看日志級別 logger查看類的靜態屬性
getstatic com.zhenai.counseling.business.api.consumer.OnlinePayCallBackConsumer logger- 此處我用的Logger來做實驗,實際生產中可以對具體類中的靜態屬性 進行監控,比如是一個Map,List等復雜數據結構,很好排查問題
sc 查看已經加載的類
//模糊查詢改包下的類加載情況 sc com.zhenai.counseling.business.api.consumer.* //打印類的詳細信息 sc -d com.zhenai.counseling.business.api.consumer.OnlinePayCallBackConsumersm查看方法詳細信息
sm -d com.zhenai.counseling.business.api.consumer.OnlinePayCallBackConsumer consume方法調用監控
monitor -c 5 com.zhenai.counseling.business.api.service.supremecourse.impl.SupremeCourseServiceImpl courses耗時檢測神器trace
//方法內部調用鏈路的時間監控 trace com.zhenai.counseling.business.api.service.supremecourse.impl.SupremeCourseServiceImpl courses //同樣過濾耗時 trace com.zhenai.counseling.business.api.service.supremecourse.impl.SupremeCourseServiceImpl courses '#cost > 10'- 對方法調用鏈路上每個節點的時間進行監控,類似pingpoint的一個輸出,檢測超時接口必備神器
總結
以上是生活随笔為你收集整理的常用Arthas命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么led全彩显示屏闪烁及解决方案le
- 下一篇: 求生之路2闪退怎么办