不管是什么系统在日常使用过程中,最经常查看的资源无外乎如下几种:
- 硬盘资源
- CPU资源
- 内存资源
- 网络资源
- 进程资源
尤其是在服务器日常使用当中涉及到排查错误更需要细粒度的查看了,下面分别从资源方面介绍一下常用的命令
硬盘
硬盘比较关心的东西一个是容量大小,在一个就是硬盘的io问题,服务器涉及到重启的话还可能涉及到挂载的问题
###容量
df
df命令可以查看系统文件系统的详细使用情况一般会跟上-h(human)选项以人易读的方式展示出来
1 | [root@localhost ~]# df -h |
du
使用df查看到具体的挂载点容量之后,使用du可以查看文件夹、文件的大小’h’参数同理,s表示只显示每个参数的total(summary)
1 | [root@localhost ~]# du -sh * |
io相关
主要有如下几个命令iostat(sysstat)、vmstat、iotop
iostat
该工具由sysstat包提供,该包还提供其他几个文件
1 | rpm -ql sysstat | grep bin |
1 | iostat -m |
1 | vmstat -d#-d 表示disk |
iotop用法和top类似不再赘述
CPU
top/htop
可以查看机器各个cpu核心的占用情况以及load情况
w
w命令会输出机器的load信息,load信息可以大致体现出机器的cpu负载情况为什么说大致呢,是因为linux的load计算方式比较特殊,他在计算阻塞任务数量的时候会连带将由于io阻塞sleep的进程计算进去
内存
vmstat
可以看到vmstat命令包含的东西几乎涵盖了所有的指标
1 | vmstat |
free
free命令可以比较详细的列出系统内存的分部
1 | free -m |
htop/top
同样的还有htop、top
网络
iftop
可以从机器层面查看与各个机器之间的流量情况
netstat/ss
用以查看机器当前端口资源的使用情况
lsof
不仅尽可以看网络资源使用情况还可以查看文件使用情况
进程
ps
这个肯定是最常用的了,各种组合,ps -ef、ps aux…
htop/top/pidstat
sysstat包里面的pidstat有点像一次输出的top和htop,当然了top也是可以输出一次的
-b : Batch mode operation Starts top in “Batch mode”, which could be useful for sending out- put from top to other programs or to a file. In this mode, top will not accept input and runs until the iterations limit youâve set with the â-nâ command-line option or until killed. -n : Number of iterations limit as: -n number Specifies the maximum number of iterations, or frames, top should produce before ending.
top -n 1 -b > output
strace
strace相对比较低层一些,可以看到进程系统调用的情况
总结
说了这么多,可以发现这些命令很多都有重合的部分这里要说的就是,各个命令最适应的场景都是不同的这个需要根据实际情况具体分析,比如有一次在自己笔记本上出现的一个很奇葩的问题就是cpu占用最少是30%,而且更奇怪的是不管是在pe系统里面,还是linux系统里面,还是说windows里面,cpu占用都是30%起底的,真是崩溃,本以为重装系统包治百病,没想到会这样,最后经过一番排查,最终发现是由于笔记本bios的问题,所以再怎么换系统都没用的,最后重新刷了bios才修复,遇到这种情况,以上工具通通都无效啊。。。
转载请注明来源链接 http://just4fun.im/2017/09/24/linux查看各种系统资源的方式/ 尊重知识,谢谢:)