一.排查java进程异常
首先显示线程列表
ps -mp pid -o THREAD,tid,time
其次将需要的线程ID转换为16进制格式:
printf “%x\n” tid
最后打印线程的堆栈信息:
Cd /usr/java/jdk1.7.0_71/bin(export PATH="$PATH:/usr/java/jdk1.7.0_71/bin")
./jstack pid |grep tid -A 30
最后,总结下排查CPU故障的方法和技巧有哪些:
1、top命令:Linux命令。可以查看实时的CPU使用情况。也可以查看最近一段时间的CPU使用情况。
2、PS命令:Linux命令。强大的进程状态监控命令。可以查看进程以及进程中线程的当前CPU使用情况。属于当前状态的采样数据。
3、jstack:Java提供的命令。可以查看某个进程的当前线程栈运行情况。根据这个命令的输出可以定位某个进程的所有线程的当前运行状态、运行代码,以及是否死锁等等。
4、pstack:Linux命令。可以查看某个进程的当前线程栈运行情况。
二.根据访问IP统计UV
awk ‘{print $1}’ access.log|sort | uniq -c |wc -l
三.统计访问URL统计PV
awk ‘{print $7}’ access.log|wc -l
四.查询访问最频繁的URL
awk ‘{print $7}’ access.log|sort | uniq -c |sort -n -k 1 -r|more
五.查询访问最频繁的IP
awk ‘{print $1}’ access.log|sort | uniq -c |sort -n -k 1 -r|more
六.根据时间段统计查看日志
cat access.log| sed -n ‘/14/Mar/2015:21/,/14/Mar/2015:22/p’|more
七.内存最大前10
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
八.杀掉大量重复进程
ps -x |grep “tail -100f log.txt”|xargs kill -9
九.查找目录下的所有文件中是否含有某个字符串
find .|xargs grep -ri “cmpyun”
十.查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名
find .|xargs grep -ri “cmpyun” -l
十一.查看cpu个数
cat /proc/cpuinfo |grep “cores”|uniq
十二.搜索某个目录下的存在关键词的所有文件并替换
sed -i “s/zhangsan/lisi/g” grep zhangsan -rl /modules
十三.磁盘出现空盘
出现磁盘100%但未使用那么多
1、用df 检查发现/根目录可用空间为0
[root@/]#df -h
2、用du检查发现各目录占用的空间都很少,有约3G的空间莫名其妙地丢了.
[root@/]# du -m –max-depth=1 |sort -gr
3、用lsof检查后才发现原因是,有文件被删除,而进程还活着,因而造成还占用空间的现象
[root@/]# lsof |grep delete
根据lsof列出的进程号,kill这些进程后,空间就释放出来了
linux实用命令
最新推荐文章于 2023-11-17 15:06:51 发布