Linux上面查看服务器压力

 

CPU->内存->磁盘->网络,我们按照这个思路来,应该是清晰的。

性能评判的原则
还一个需要强调的是,生产上面其实会有一个原则,一般不能等系统挂了的时候再去处理,通常来说一台机器(多核)超过60%-70%其实就算压力比较大了,超过了80%的话其实就已经负荷很高了,这个是我们用来判断的性能的参考。

命令介绍
我们其实要先知道我们的目的,再介绍命令会比较合适,正如我们想要编辑文档的时候,我们会有word和wps的介绍,我们其实可以有不止一种的方式去实现我们的这个需求。

linux下的资源监视器
top命令是最常用的,对应我们的windos下面的资源监视器,linux top命令一敲,便是下面的内容

top - 22:33:12 up 467 days, 12:44,  3 users,  load average: 2.82, 3.14, 3.33
Tasks: 468 total,   1 running, 467 sleeping,   0 stopped,   0 zombie
Cpu(s): 14.8%us,  0.9%sy,  1.4%ni, 82.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  132244968k total, 75537804k used, 56707164k free,  1201448k buffers
Swap: 33554428k total,        0k used, 33554428k free, 53700216k cached

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                             
 63276 hdfs      20   0 19.7g 8.7g  25m S 356.0  6.9 297879:19 java                                                                                                                                                
  2123 root      20   0 49960 2252 1704 S  0.7  0.0 149:44.81 syslog-ng                                                                                                                                            
  2152 nscd      20   0  945m 1736 1068 S  0.3  0.0 383:46.29 nscd                                                                                                                                                 
...... 

                                                                                                                                    
...... 

因为没得曲线看,我们需要晓得一下关键的字段:
load average 便是我们的系统负载情况,分别表示系统一分钟 五分钟 十五分钟的平均负载
id 全称的 idle,这个是空闲率,这个当然就是越空闲就系统压力越小,如果这三个值加起来/3 x100% 超过60% 说明负载比较高 如果超过80%就挂了!
另外top面板上面按1的时候可以切换多核的情况,可以试试。

简要面板
top命令其实信息太多了,我们其实有个迷你版本的面板

$ uptime
 22:41:54 up 467 days, 12:53,  3 users,  load average: 3.60, 3.53, 3.40



直接可以查看系统负荷情况

CPU和内存查看
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。是对系统的整体情况进行统计。

$ vmstat 2 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 56691984 1201452 53722160    0    0     0     9    0    0  5  1 94  0  0
 1  0      0 56692212 1201452 53722164    0    0     0     0 2539 1077  6  0 94  0  0
 2  0      0 56692668 1201452 53722168    0    0     0    24 6199 8175 21  0 79  0  0


2是指2秒来一次,3的统计3下的意思,需要关注几个项目
r其实就是runing的意思,是指线程running
b是block的意思,线程block,这肯定不好,越少越好
us是user是的意思,用户使用cpu
sy是system的意思,系统使用cpu
us和sy两个值加起来超过80%,系统压力大,需要处理了
剩下可以看到内存和其他,稍微看得少些。

内存查看
free -m

 free -m
             total       used       free     shared    buffers     cached
Mem:        129145      73937      55207          1       1173      52465
-/+ buffers/cache:      20298     108846
Swap:        32767          0      32767


这条命令就是查看内存,因为四舍五入,-m的兆的意思,也可以free -g,但是会被舍去很多内存,一般的m

磁盘查看
磁盘这个好说,就是看容量,这个就是满了就是100%,很容易看

$ df -ah
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3       518G  175G  317G  36% /
proc               0     0     0    - /proc
sysfs              0     0     0    - /sys
devpts             0     0     0    - /dev/pts
tmpfs            63G     0   63G   0% /dev/shm
/dev/sda1       190M   27M  153M  15% /boot
none               0     0     0    - /proc/sys/fs/binfmt_misc


磁盘一个查看是需要看读写情况

$ iostat -xdk 2 3
Linux 2.6.32-504.23.4.el6.x86_64     03/16/2020      _x86_64_        (24 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00    49.04    0.01    5.48     0.23   217.89    79.48     0.01    2.29   0.18   0.10

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00


rrqm/s: 每秒进行 merge 的读操作数目
wrqm/s:每秒进行 merge 的写操作数目
r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s
w/s:每秒完成的写 I/O 设备次数。即 delta(wio)/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)
avgqu-sz:平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)
await:平均每次设备I/O操作的等待时间 (毫秒)
svctm: 平均每次设备I/O操作的服务时间 (毫秒)
%util:一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈
网络查看
其实可想而知想象得到,我们的网络应该是xxstat这种形式吧,其实还真是。
网络的查看是ifstat,不过这个软件有时候不带,需要自己安装

 wget http://gael.roualland.free.fr/ifstat/ifstat-1.1.tar.gz
 tar -zxvf ifstat-1.1.tar.gz 
 cd ifstat-1.1
 ./configure
 make 
 make install


敲命令ifstat就行,这个显示比较简单,网卡和上传下载的速度

       eth0                eth1               bond0       
 KB/s in  KB/s out   KB/s in  KB/s out   KB/s in  KB/s out
    0.00      0.21      0.06      0.00      0.06      0.21
    0.00      0.00      0.06      0.15      0.06      0.15
    0.00      0.15      0.06      0.00      0.06      0.15
    0.00      0.00      0.06      0.15      0.06      0.15
    1.24     15.24      0.06     17.02      1.29     32.25
    0.14      1.15      0.06      0.20      0.20      1.35


总结
从我们window是迁移的思路是比较清晰的,按照设备+stat这种规律的命令也是比较容易推导出来的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值