Linux监控命令

总结一些常用性能监控命令

top
动态显示系统和进程资源使用情况


htop
top增强版,以不同的颜色区分不同类型的进程,更直观


atop
CPU、内存、磁盘和网络等资源的全面监控


perf top -g -p pid
类似于 top,能够实时显示占用 CPU 最多的函数或者指令,可以用来查找热点函数


ps -Lp pid cu | sort -k 4 -rn 或 ps -mp pid -o THREAD,tid,time | sort -rn
查看指定进程每个线程的CPU占用率,并按线程CPU占用率降序显示


top -Hp pid
动态查看指定进程每个线程的CPU占用率,按Shift+P按CPU降序显示


jstack pid
jdk自带的线程堆栈分析工具,使用该命令可以查看或导出 Java 应用程序中线程堆栈信息


pidstat -p pid
常用的进程性能分析工具,用来实时查看进程的 CPU、内存、I/O 以及上下文切换等性能指标


mpstat -P ALL 1 3
常用的多核 CPU 性能分析工具,用来实时查看每个 CPU 的性能指标,以及所有 CPU 的平均指标


perf record -p pid
记录性能事件,生成报告


perf report
查看报告


vmstat 1 3 -w
常用的系统性能分析工具,主要用来分析系统的内存使用情况,也常用来分析 CPU 上下文切换和中断的次数


uptime
查看系统平均负载情况


pstree
可以用树状形式显示所有进程之间的关系。如:pstree | grep java


netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
查看网络、端口状态,示例为:查看所有TCP连接


iostat -xk 1 3
查看I/O使用情况


ifstat
网络流量实时监控工具,需安装:wget http://distfiles.macports.org/ifstat/ifstat-1.1.tar.gz


iftop
网络流量实时监控工具

 

netstat -naop
查看网络队列


dstat 1 3
一个新的性能工具,它吸收了 vmstat、iostat、ifstat 等几种工具的优点,可以同时观察系统的 CPU、磁盘 I/O、网络以及内存使用情况


jstat -gcutil pid 1000 3
查看JVM内存以及GC情况


jmap
生成 java 程序的 dump 文件, 查看进程堆内存使用情况,包括使用的GC算法、堆配置参数和各代中堆内存使用情况


strace -p pid
常用的跟踪进程系统调用的工具


tcpdump
一个常用的网络抓包工具,常用来分析各种网络问题


sar
查看系统资源使用情况


free
查看内存使用情况


df
查看磁盘使用情况

 

posted @ 2019-07-09 15:51  小郗测试  阅读(399)  评论(1编辑  收藏  举报