线上查问题的时候有些命令是必备,有必要把一些常用命令总结一下(这类命令和相关参数相当多,只总结自己常用得到的),查找问题一般可以分为系统参数、性能参数、进程、内存、网络、存储、内存和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>:显示线程阻塞/死锁情况

 

没有对各命令及参数做详细的说明,需要深入的就参看相关文档,暂时就这么多,有待工作中继续补充

posted on 2011-12-13 14:51  一个人的天空@  阅读(359)  评论(0编辑  收藏  举报