Linux防火墙管理&Jstack线程堆栈信息查看
一、Linux防火墙管理
开启防火墙端口,每次根据需要替换掉端口 3306
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
查看端口 3306 是否监听
iptables -L -nv | grep 3306
二、线程堆栈信息查看
结合top和jstack找出占用cpu最高的堆栈信息:
1,使用命令top -p <pid> ,显示你的Java进程的内存情况,pid是你的java进程号,比如29490
比如,我需要查看服务器上tomcat的进程ID,ps aux|grep tomcat 此时的进程ID为29490
2,按H(大写),获取每个线程的内存情况
3,找到内存和cpu占用最高的线程pid,比如29497
4,执行printf "%x\n" 29497 (16进制输出进程) 得到 7339 ,此为线程id的十六进制
5,执行 jstack 29490|grep -A 10 7339,得到线程堆栈信息中7339这个线程所在行的后面10行 ,29490位进程ID,本图展示的是后台GC线程在工作。
6,查看对应的堆栈信息找出可能存在问题的代码
三、查看磁盘使用情况
df -h
四、查看指定端口使用情况
lsof -i:8080