linux高级工具命令(五)vmstat介绍 linux高级工具命令(五)vmstat介绍 2023-03-29 949 通过STATSPACK收集服务器信息,主要通过收集VMSTAT的信息来展现服务器状况。VMSTAT工具是最常见的UNIX监控工具,可以展现给定时间间隔的服务器的状态值。 一般VMSTAT工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数。如: [oracle@localhost oracle]$vmstat 2 procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 195804 3812 40616 1598656 0 0 0 0 1024 66976 0 0 100 0 0 0 195804 3812 40616 1598656 0 0 0 12 1048 66961 0 0 100 0 0 0 195804 3812 40616 1598656 0 0 0 28 1054 67067 0 0 100 0 0 0 195804 3812 40616 1598656 0 0 0 0 1020 66988 0 0 100 0 (注:目前系统几乎空闲,并且不同操作系统VMSTAT输出内容有所不同) 目前说来,对于服务器监控有用处的度量主要有: r(运行队列) pi(页导入) us(用户CPU) sy(系统CPU) id(空闲) (如果r经常大于4 ,且id经常少于40,表示cpu的负荷很重。) (如果bi,bo 长期不等于0,表示内存不足) 通过VMSTAT识别CPU瓶颈 r(运行队列)展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了 获得CPU个数的命令(LINUX环境): cat /proc/cpuinfo|grep processor|wc -l 当r值超过了CPU个数,就会出现CPU瓶颈,解决办法大体几种: 1. 最简单的就是增加CPU个数 2. 通过调整任务执行时间,如大任务放到系统不繁忙的情况下进行执行,进尔平衡系统任务 3. 调整已有任务的优先级 通过VMSTAT识别CPU满负荷 首先需要声明一点的是,vmstat中CPU的度量是百分比的。当us+sy的值接近100的时候,表示CPU正在接近满负荷工作。但要注意的是,CPU 满负荷工作并不能说明什么,UNIX总是试图要CPU尽可能的繁忙,使得任务的吞吐量最大化。唯一能够确定CPU瓶颈的还是r(运行队列)的值。 通过VMSTAT识别RAM瓶颈 数据库服务器都只有有限的RAM,出现内存争用现象是Oracle的常见问题。 首先察看RAM的数量,命令如下(LINUX环境): [oracle@oracle-db02 ~]$ free total used free shared buffers cached Mem: 2074924 2071112 3812 0 40616 1598656 -/+ buffers/cache: 431840 1643084 Swap: 3068404 195804 2872600 当然可以使用top等其他命令来显示RAM。 当内存的需求大于RAM的数量,服务器启动了虚拟内存机制,通过虚拟内存,可以将RAM段移到SWAP DISK的特殊磁盘段上,这样会 出现虚拟内存的页导出和页导入现象,页导出并不能说明RAM瓶颈,虚拟内存系统经常会对内存段进行页导出,但页导入操作就表明了服务器需要更多的内存了, 页导入需要从SWAP DISK上将内存段复制回RAM,导致服务器速度变慢。 解决的办法有几种: 1. 最简单的,加大RAM 2. 改小SGA,使得对RAM需求减少 3. 减少RAM的需求(如:减少PGA) 更多请参考: vmstat命令列出的属性详解 <script src="http://wz..net/javascripts/vote.js" type="text/javascript"></script> <script src="http://blog..net/count.aspx?ID=1787438&Type=Rank" type="text/javascript"></script> 免费搭建微信查券返利机器人来轻松赚佣金 文章来自:IT技术分享网 分享地址:http://www.5ityx.cn/cate113/236498.html 上一篇: 使用Jedis连接阿里云服务器的redis 下一篇: Linux——putty颜色设置【如何改变颜色】 linux高级工具命令(五)vmstat介绍 相关内容 在Nginx服务器如何安装SSL证书 vmware+双显示器实现双系统同时使用 MT4插件开发简介(开发思路) 解决telnet提示Escape character is ‘^]’. svn服务器代码迁移与同步 VMware实现控制台功能(VMware Remote Console) 几种常见的http状态码含义解析 如何理解Linux中万物皆文件? web应用部署到服务器流程 Kali Linux三种网络攻击方法总结(DDoS、CC和ARP欺骗) Windows操作系统添加永久静态路由 HTTP代理是什么意思?HTTP代理有什么用处? 注册表修改系统分辨率 SQL Server2012如何更改服务器的名称 window server2012 远程连接黑屏 FastDFS为什么要用Nginx做代理