首页   快速返回

线上问题排查常用命令     所属分类 java
查看所有java进程信息

jps -lmvV
jps -lmvV|grep -v 'jps'
排除 jps 进程本身




各种连接状态数统计
netstat -nat|awk  '{print $6}'|sort|uniq -c|sort -rn

tcpdump
tcpdump -i eth0 tcp port 80


查看总线程数

ps -eLf
pstree -p
ps -eLf|wc -l
pstree -p|wc -l


Java线程状态统计 并按次数倒排
jstack 1951|grep java.lang.Thread.State: |sort|uniq -c|sort -rn
jstack 1951|grep java.lang.Thread.State: |sort|uniq -c|sort -rn -k 1
默认按第一列排序 两个命令效果一样

     75    java.lang.Thread.State: WAITING (parking)
     34    java.lang.Thread.State: RUNNABLE
      9    java.lang.Thread.State: TIMED_WAITING (sleeping)
      8    java.lang.Thread.State: TIMED_WAITING (parking)
      3    java.lang.Thread.State: TIMED_WAITING (on object monitor)
      2    java.lang.Thread.State: WAITING (on object monitor)


显示文件,去掉#开头的注释行
grep -v "^#" server.conf

按文件大小倒排
du -a .|sort -rn

如何清空正在使用的日志文件

echo "" > x.log    #立即释放占用空间
rm -rf x.log 不会立即释放空间 进程重启才行 


访问日志访问前10的IP地址及访问次数
cat x.log|awk '{print $2}' | sort | uniq -c |sort -rn |head -n 10

从已经备份好的日志中查询数据
xxx.log.bz2 日志中 找出包含 xxxxxx 的日志行数

bzcat xxx.log.bz2 |grep xxxxxx |wc –l
bzgrep 'xxxxxx' xxx.log.bz2 |wc –l


找出最近修改或访问过的文件 
find /home/admin -atime -1  1天内访问过的文件
find /home/admin -ctime -1  1天内状态改变过的文件    
find /home/admin -mtime -1  1天内修改过的文件
find /home/admin -amin -1  1分钟内访问过的文件
find /home/admin -cmin -1  1分钟内状态改变过的文件    
find /home/admin -mmin -1  1分钟内修改过的文件

上一篇     下一篇
如何让pre元素里的内容自动换行

jdk自带工具使用

找出最耗CPU的java线程和代码

Lock和synchronized的区别

java并发机制的底层实现原理

域名查询命令