性能问题定位的一些常用命令

查看系统当前 络连接数

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

查看堆内对象的分布 Top 20(定位内存泄漏)

jmap –histo:live $pid | sort-n -r -k2 | head-n 20

根据内存的使用情况列出前20 的进程

ps axo %mem,pid,euser,cmd | sort -nr | head -20

根据 CPU的使用情况列出前20 的进程

ps -aeo pcpu,user,pid,cmd | sort -nr | head -20

显示系统整体的CPU利用率和闲置率

grep "cpu " /proc/stat | awk -F ' ' '{total = $2 + $3 + $4 + $5} END {print "idle t usedn" $5*100/total "% " $2*100/total "%"}'

根据线程状态统计线程数

jstack $pid | grep java.lang.Thread.State:|sort|uniq -c | awk '{sum+=$1; split($0,a,":");gsub(/^[ t]+|[ t]+$/, "", a[2]);printf "%s: %sn", a[2], $1}; END {printf "TOTAL: %s",sum}';

按照Swap 分区的使用情况列出前20的进程

for file in /proc/*/status ; do awk '/VmSwap|Name|^Pid/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 3 -n -r | head -20

JVM 内存使用及垃圾回收状态统计

# 显示最后一次或当前正在发生的垃圾收集的诱发原因jstat -gccause $pid# 显示各个代的容量及使用情况jstat -gccapacity $pid# 显示新生代容量及使用情况jstat -gcnewcapacity $pid# 显示老年代容量jstat -gcoldcapacity $pid# 显示垃圾收集信息(间隔1秒持续输出)jstat -gcutil $pid 1000

查找根目录下占用磁盘空间最大的top10文件

find / -type f -print0 | xargs -0 du -h | sort -rh | head -n 10

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月4日
下一篇 2020年1月4日

相关推荐