性能定位常用命令整理
統計每秒鐘Nginx收到多少請求:
cat access.log | grep 2019:20:19:50 | wc -l
解釋:access.log為Nginx的日志,通過Nginx的配置文件nginx.conf查看日志文件名稱和位置,2019:20:19:50 表示獲取20點19分50秒接收的請求數,去掉秒則可以得到每分鐘收到的請求數
查看GC情況:
jstat -gc PID 300 20
解釋:PID是進程號,300表示300毫秒收集一次,20表示收集次數
jstack -l PID > a.txt
解釋:將java堆棧輸出到a.txt文件中
jcmd PID Thread.print >a.txt
解釋:jcmd是JDK1.8以上版本才能用,和jstack的效果一樣,也是將java堆棧文件打印到a.txt文件中
pstack PID >a.txt
解釋:pstack命令表示將進程為PID的本地堆棧打印到a.txt文件中,文件中的LVMID 與top -Hp PID中的線程號是一致的
top -Hp PID
解釋:打印進程號為PID的線程信息,可以得到最耗資源的線程號,執行printf %x?PPID得到線程號的16進制,與java堆棧中的nid匹配
printf? %x PPID
解釋:將十進制線程號轉換成十六進制
?iostat -x 1
解釋:iostat主要用于監控系統設備的IO負載情況,iostat首次運行時顯示自系統啟動開始的各項統計信息,之后運行iostat將顯示自上次運行該命令以后的統計信息。用戶可以通過指定統計的次數和時間來獲得所需的統計信息。-x表示顯示和io相關的擴展數據,檢查awai列,如果該列在負載下持續超過10ms,說明磁盤過慢或磁盤過載
iostat -d -k 2
解釋:-d表示顯示設備(磁盤)使用狀態;-k某些使用block為單位的列強制使用Kilobytes為單位;2表示,數據顯示每隔2秒刷新一次。
netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
解釋:查看linux系統中tcp連接的狀態和連接數量統計,當結果中出現大量FINA_WAIT2時,表示服務器已經不堪重負
netstat -s|grep -i listen
解釋:Netstat 命令用于顯示各種網絡相關信息,如網絡連接,路由表,接口狀態 (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等。-s 按各個協議進行統計。
轉載于:https://www.cnblogs.com/wx170119/p/11325196.html
總結
以上是生活随笔為你收集整理的性能定位常用命令整理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创维电视机756151现在这个电视机多少
- 下一篇: cuda cudnn pytorch版本