进程cpu过高问题排查
?
jstack pid |grep tid -A 30
这样,对应异常找到出现问题的代码。?
?
二,linux常用确认服务状态命令。
统计tcp连接状态: netstat -n | awk '/^tcp/ {++S[$NF]} END{for(a in S) print a, S[a]}'
统计用户进程当前操作句柄数:lsof -n|awk '{print $2}|'|sort|uniq -c |sort -nr|more
统计用户进程内部执行的线程数:ps -eLf|grep java|wc --l
查看运行时进程参数设置:cat /proc/pid/limits,cpuset及coredump_filter
查看当前某端口连接数:netstat -nat|grep -i? "80" |wc -l?
对连接的IP按连接数量进行排序:netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n (运维操作已放弃netstat,改为ss命令入侵更轻量)
Tcpdump访嗅访问数据包最高请求:tcpdump -i eth0 -tnn dst port 80 -c 1000