些个查问题命令小结

线上查问题的时候有些命令是必备,有必要把一些常用命令总结一下(这类命令和相关参数相当多,只总结自己常用得到的),查找问题一般可以分为系统参数、性能参数、进程、内存、网络、存储、内存和jvm这么几类:

系统参数
cat /proc/cpuinfo  cpu相关参数

cat /proc/meminfo 内存相关参数

cat /proc/loadavg 负载情况
性能参数
1)top

M:按内存使用排序

P:按CPU占用排序

1:显示各CPU的使用情况

k:kill进程

o:更多排序规则

回车:刷新数据
2)ulimit
ulimit -a:显示本用户的系统限制参数

ulimit -Hn <num>:更改最大Hard open file数

ulimit -Sn <num>:更改最大Soft open file数
3)vmstat
vmstat  5 -S m:以5秒的数据刷新vmstat数据(单位为m)
进程
1)ps
ps aux:显示所有用户进程详情

ps -ef:显示所有用户进程详情另一种风格

如果显示不全可以通过-w加宽,如ps aux -www
网络
1)netstat
netstat  -na:显示所有网络连接

netstat  -nap:显示所有网络连接,并带上进程相关信息

netstat  -nat:显示所有tcp类型的网络连接

netstat  -ln:显示所有监听状态的网络连接
存储
1)df -h:硬盘存储总体情况
2)du --max-depth=1 -h <路径>:指定路径下所有文件夹的大小(递归一层)
3)du -sh <路径>:指定目录的大小
内存
free -m
值得注意的是:空闲内存=free+buffers+cached=total-used
JVM
1)jstat
jstat -gccapacity  <jpid>:JVM各区的剩余状态
jstat -gcutil <jpid>:JVM各区的占用情况
jstat -gccause <jpid>:jstat -gcutil基础加上gc的原因
另外可以指定更新频率,如-h5 1s:每一秒更新一次,并每隔5条加上header显示
2)jps

目前正在运行中的java进程
3)jmap

jmap -dump:format=b,file=jmap.log <jpid>:生成heap dump文件
jmap -heap <jpid>:显示jvm heap总体情况
jmap -histo:live <jpid> :显示类实例占用内存情况

4)jstack
jstack -l <jpid>:显示线程阻塞/死锁情况

抓包
tcpdump -D : 显示机器网卡
tcpdump -i eth0 -n -c 1000 -w xx_log.pcap host xxx.xxx.xxx.xxx : 抓取包含主机IP为xxx.xxx.xxx.xxx的1000个数据包,生成xx_log.pcap文件

取maven dependency源码
mvn dependency:get -Dartifact=net.sf.json-lib:json-lib:2.2.1:jar:jdk15:sources
mvn dependency:get -Dartifact=org.apache.commons:commons-jexl:2.0.1:jar:sources
install源码
mvn source:jar install

to be continue ... ...


你可能感兴趣的:(linux,命令,线上问题)