vmstat 命令
vmstat [-a] [-n] [delay [ count]]
vmstat [-f] [-s] [-m]
vmstat [-S unit]
vmstat [-d]
vmstat [-p disk partition]
vmstat [-V]
vmstat, Virtual Meomory Statistics(虚拟内存统计), 可对操作系统的虚拟内存、进程、CPU活动进行监视. 它是对系统的整体情况进行统计, 但不能针对某个进程进行深入分析.
[root@localhost ~]# vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 284 66240 165924 419584 0 0 0 5 2 1 0 0 100 0 0 #to output active/inactive memory info [root@localhost ~]# vmstat -a procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free inact active si so bi bo in cs us sy id wa st 0 0 284 65620 86928 833976 0 0 0 5 3 1 0 0 100 0 0 #To run vmstat with 2 updates, five seconds apart [root@localhost ~]# vmstat 5 2 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 284 65620 165924 419824 0 0 0 5 3 1 0 0 100 0 0 0 0 284 65620 165924 419828 0 0 0 7 1014 64 0 0 100 0 0
procs, 下面三种状态的进程数
memory, 虚拟内存和实存信息
swap, 显示磁盘与内存每秒的交换
io, 显示块设备每秒发送和收到的块数
system
CPU, CPU 故障时间的百分比, 在多处理器系统上, 这是全部处理器的平均值
disk, 显示每秒的磁盘操作, s 表示 scsi 盘, 0 表示盘号
pages, 每秒页面调度活动数量的信息(Solaris vmstat)
fault, 显示每秒的中断数(Solaris vmstat)
准测
表明磁盘io没有也许存在不合理的平衡, 或者对磁盘操作比较频繁
通过 vmstat 识别 CPU 瓶颈
r(运行队列)展示了正在执行和等待 CPU 资源的任务个数. 当这个值超过了 CPU 数目, 就会出现CPU瓶颈
获得 CPU 个数的命令(Linux):
[root@localhost ~]# cat /proc/cpuinfo | grep processor | wc -l
当 r 值超过了CPU个数, 就会出现CPU 瓶颈, 解决办法大体如下
通过 vmstat 识别 CPU 满负荷
vmstat 中 CPU 的度量是百分比. 当us+sy≈100时, 表示 CPU 正在接近满负荷工作. 但要注意的是, CPU 满负荷工作并不能说明什么, *nix 总是试图要 CPU 尽可能的繁忙, 使得任务的吞吐量最大化. 唯一能够确定 CPU 瓶颈的还是 r(运行队列) 的值.
通过 vmstat 识别 RAM 瓶颈
数据库服务器都只有有限的 RAM, 出现内存争用现象是常见问题
首先察看 RAM 的数量, 命令如下
[root@localhost ~]# free total used free shared buffers cached Mem: 1035292 969548 65744 0 165924 419720 -/+ buffers/cache: 383904 651388 Swap: 2096472 284 2096188
也可使用 top 等其他命令来显示RAM.
当内存的需求大于RAM的数量, 服务器启动虚拟内存机制, 通过虚拟内存, 可以将 RAM 段移到 SWAP DISK 的特殊磁盘段上, 这样会出现虚拟内存的页导出和页导入现象, 页导出并不能说明 RAM 瓶颈, 虚拟内存系统经常会对内存段进行页导出, 但页导入操作就表明了服务器需要更多的内存了, 页导入需要从 SWAP DISK 上将内存段复制回 RAM, 导致服务器速度变慢.
解决办法有如下几种
建议继续学习:
- vim几个小技巧(批量替换,列编辑) (阅读:35922)
- ps - 按进程消耗内存多少排序 (阅读:11244)
- 100个常用的linux命令 (阅读:10127)
- 每个程序员都应该知道的8个Linux命令 (阅读:9410)
- 最受欢迎的10个 Linux 单行命令 (阅读:8839)
- Linux date 命令获取某日期的前一天 (阅读:8459)
- ps 命令常见用法 (阅读:7888)
- find命令的一点注意事项 (阅读:8164)
- Linux常用系统信息查看命令 (阅读:7341)
- Linux 常见高危操作 (阅读:7035)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:gettyying 来源: 生活在别处
- 标签: vmstat 命令
- 发布时间:2011-06-23 13:41:41
- [53] IOS安全–浅谈关于IOS加固的几种方法
- [52] 如何拿下简短的域名
- [51] 图书馆的世界纪录
- [50] Oracle MTS模式下 进程地址与会话信
- [50] android 开发入门
- [49] Go Reflect 性能
- [46] 【社会化设计】自我(self)部分――欢迎区
- [46] 读书笔记-壹百度:百度十年千倍的29条法则
- [36] 程序员技术练级攻略
- [29] 视觉调整-设计师 vs. 逻辑