我在阿里这三年总结的排查问题命令清单,建议收藏
平时的工作中经常碰到很多疑难问题的处理,但是大部分还是网上查找,避免不了有时候走很多弯路,于是我就把这段时间在阿里常用的排查问题的命令整理下来,一个是为了快速翻阅,提高解决问题的效率,一个是分享出来大家共同进步,当然你有更好的也欢迎给我留言,查漏补缺。
实时命令
查询倒数 300 行文件,并监听实时写入
tail -300f application.log
查找命令
在 application.log 中查找 ERROR
grep ERROR application.log
cat application.log | grep -i ERROR
同时在两个文件中查找 ERROR
grep ERROR 1.log 2.log
指定文件后缀查找
grep 'HelloWorld' /home/admin/logs -r -n --include *.{java}
排除文件后缀查找
grep 'HelloWorld' /home/admin/logs -r -n --exclude *.{java}
解析命令
解析命令多用于日志解析,分析日志的关键信息和内容
打印通过空格隔开的每一行的第4个和第6个字符
awk '{print $4,$6}' application.log
打印通过“:”隔开的每一行的第4个和第6个字符
awk -F: '{print $4,$6}' application.log
文件定位
查询特定目录下面大于 200M 的文件
find /home/admin -size +200M
1天内访问过的文件
find /home/admin -atime -1
1天内修改过的文件
find /home/admin -mtime -1
1分钟内访问过的文件
find /home/admin -amin -1
1分钟内修改过的文件
find /home/admin -mmin -1
CPU
查看当前程序运行情况
ps -ef | grep java
top -H -p pid
网络
查看当前连接,按照类型排序
netstat -nat|awk '{print $6}'|sort|uniq -c|sort -rn
Java 问题定位
Arthas 这是阿里开源不久的故障排查利器,非常之方便,更多操作,移步 https://github.com/alibaba/arthas
jmap、jps、jstack、jstat 就不细讲了,这应该是 Java 工程师最拿手的利器。
值得一说的是 jdb,时至今日,jdb也是经常使用的,一个有趣的可以使用命令行 DEBUG 的工具,具体可以参考文档了解下
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html
解决包冲突可以使用下面命令快速导出所有的 maven 依赖
mvn dependency:tree > ~/dependency.txt
推荐阅读:
喜欢我可以给我设为星标哦
评论