入住 CI 中国社区 登录
CodeIgniter 中国开发者社区 返回首页

rosemarry的个人空间 https://codeigniter.org.cn/forums/?39678 [收藏] [复制] [分享] [RSS]

日志

linux查看资源利用率

已有 1134 次阅读2018-6-11 16:30 |个人分类:测试补给

linux vmstat命令实战详解
vmstat命令是最常见的linux/unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况等
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒(s),第二个参数是采样的次数

2表示每隔两秒采集一次服务器状态,1表示只采集一次
实际上,在应用过程中,我们会在一段时间内一直监控,不想监控直接结束vmstat就行了, 例如

这表示vmstat每2秒采集数据,一直采集,直到结束程序,这里采集了5次数据就结束了程序
现在开始详细讲解每个参数的意思
r:表示运行队列(就是说多少个进程真的分配到CPU)
b:表示阻塞的进程
swpd:虚拟内存已使用的大小,如果大于0,表示你的机器屋里内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器
free:空闲的物理内存的大小
buff:linux/unix系统使用来存储
cache:cache直接用来记忆我们打开的文件,给文件做缓冲
si:每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉
so:每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上
bi:块设备每秒接收的块数量,这里的块设备是指系统上所有的超级潘和其他块设备,默认块大小是1024byte
bo:块设备每秒发送的块数量(例如我们读取文件,bo就要大于0,bi和bo一般都要接近0不然就是IO过于频繁,需要调整)
in:每秒CPU上下文切换次数(例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑地线程或进程的数目,例如在  apache和nginx这种web服务器中,我们一般做性能测试时会进行几千并发甚至几万并发的测试,选择web服务器的进程可以由进程或线程的峰值一直下调,压测,知道cs到一个比较小的值,这个进程和线程就是比较合适的值了,系统调用也是,每次调用系统函数,我们的代码就会进入内核控件,导致上下文切换,这个是很耗资源,也要尽量避免频繁调用系统函数,上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事时间少了,CPU没有充分利用,是不可取的。)
us:用户CPU时间
sy:系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁
id:空闲CPU时间,一般来说,id+us+sy=100,一般我们认为id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率
wt等待IO、CPU时间

性能分析信息
IO/CPU/men  连锁反应
1、free急剧下降
2、buff和cache被回收下降,但也无济于事
3、依旧需要使用大量swap交换分区分区swpd
4、等待进程数,b增多
5、读写IO、bi、bo增多
6、si、so大于0开始从硬盘中读取
7、CPU等待时间用于IO等待,wa增加

内存不足:
1、开始使用swpd、swpd不为0
2、si、so大于0开始从硬盘中读取
io瓶颈:
       1、读写IO、bi、bo增多超过2000
       2、CPU等待时间用于IO等待,wa增加超过20
       3、sy系统调用时间长,IO操作频繁会导致增加>30%
       4、wa  io等待时间长
               io wait%<20%
               io wait%<35%
               io  wait%>50%
       5、进一步使用iostat观察
 CPU瓶颈:load、vmstat中r列:
      1、反应为CPU队列长度
      2、一段时间内,CPU正在处理和等待CPU处理的进程数之和,直接反应了CPU的使用和申请情况
      3、理想的load  average :核数*CPU*0.7
               CPU个数:grep  'physical  id' | proc/cpuinfo | sort  -u
               核数:grep  'core  id' /proc | cpuinfo | sort -u | wc -l
      4、超过这个值就说明已经是CPU瓶颈了
CPU瓶颈
     1、us用户CPU时间高,超过90%(涉及到web服务器,cs每秒上下文切换次数)
  


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 入住 CI 中国社区