排障命令-汇总
目录
日志查询
1. grep
2. zgrep
cpu
1. top
内存
1. free
tcp相关
1. netstat
2. ulimit
3. lsof
jvm常用
1. jps
2. jinfo
3. jstack
4. jmap
5. jstat
进制转换
1. 十进制转16进制
日志查询
1. grep
定义:(global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式
grep常用命令:
grep '查询条件' xxx.log
grep -r update /etc/acpi : 以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件,并打印出该字符串所在行的内容,使用的命令为
grep –e "正则表达式" 文件名 : 从文件内容查找与正则表达式匹配的行
2. zgrep
定义:压缩文件中查找
zgrep常用命令:
zgrep '查询条件' xxx.log.gz :压缩文件中查询
cpu
1. top
定义:查询系统负载、CPU、内存使用情况
top常用命令:
top:进程维度的明细
top -o cpu:按照cpu排序
top -o rsize:按内存使用率排序
top -Hp pid:查询进程pid下的所有线程占用cpu等明细,非常实用
内存
1. free
定义:查看内存使用情况
free常用命令:
free : 单位Kb
free -m :单位Mb
tcp相关
1. netstat
定义:用于显示网络状态
netstat常用命令:
netstat -l:listening 显示监控中的服务器的Socket
netstat -t:显示TCP传输协议的连线状况
netstat -t | grep '172.16.248.12':显示TCP传输协议的连线状况并按照一定条件过滤
2. ulimit
定义:可用于显示系统资源的设置
ulimit常用命令:
ulimit -n :指定同一时间最多可开启的文件数
3. lsof
定义:查看当前进程的打开文件详情(list open files)
lsof常用命令:
lsof -p pid :查看当前进程的打开文件详情,不适用,打印出来太多
lsof -i:80 :查看80端口被那个进程占用
jvm常用
1. jps
定义:查询进程号相关
jps常用命令:jps
2. jinfo
定义:
jinfo常用命令:
jinfo -flags pid : 查询java进程启动参数
3. jstack
定义:打印进程的堆栈信息
jstack常用命令:
jstack -l pid
4. jmap
定义:查询JVM内存对象信息
jmap常用命令:
jmap -histo pid | head -n20 : 查询top20对象
jmap -dump:format=b,file=/home/admin/logs/app/heap.hprpf pid : 对进程号为pid进行dump文件操作
5. jstat
定义:
jstat常用命令:
jstat -gc pid : 查询pid的gc实时信息、分代使用信息
jstat -gc pid 2000 : 间隔两秒打印一次
jstat -gcnew pid : 查询new对象的信息
jstat -gcold pid : 查询old对象的信息
进制转换
1. 十进制转16进制
printf '%x\n' 15