zoukankan      html  css  js  c++  java
  • 性能定位常用命令整理

    统计每秒钟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 按各个协议进行统计。

  • 相关阅读:
    音频文件的属性
    判断UITextField.text是否为空(转)
    digital audio properties
    对scrollView的属性contentSize contentOffset contentInset个人理解
    OC定义变参函数
    va_list、va_start、va_arg、va_end的原理与使用(转载)
    游标笔记
    oracle中删除重复数据
    IIS无法启动,错误代码127[转自Alibaba DBA Team]
    推进游标是Fetch不是Petch!~!
  • 原文地址:https://www.cnblogs.com/wx170119/p/11325196.html
Copyright © 2011-2022 走看看