关于生产环境CPU或内存飙高问题排查
命令使用
1、查看线程占用情况
ps -T -p |wc -l
2、将堆栈打印到日志文件
jstack -l pid jstack -l pid >> jstack.log
3、查询当前连接状态
netstat -n| grep 8000 | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
4、查询是否有连接一直处于CLOSE_WAIT,该值过高会导致服务无法响应
netstat -nap |grep :8000|grep CLOSE_WAIT
5、清空日志文件
cat /dev/null > access.log
查询日志不同方式
1、cat -n catalina.out |grep ‘关键词’ 。可以获取到指定日志的行号信息
cat -n catalina.out | tail -n +1748830 | head -n 10表示查询123453行之后的日志
2、grep ‘230531 1011’ catalina.out 。查看指定时间段的日志,不同项目命名格式不一样,需注意。(拼上:|wc -l,可查询出现的数量)
查看文件夹大小
du -ah --max-depth=1
查询Linux当前使用的端口号进程信息
ss -nlpt
ubuntu没有ll命令
- 编辑 ~/.bashrc 文件
sudo vim ~/.bashrc
2.添加别名
去掉 #alias ll=’ls -l’ 前面的 # 号就能使用 ll 命令了。
3.生效操作
sudo source ~/.bashrc