一提到对于查看系统运行的健康状况,可能大多数朋友考虑到的就是查看进程或者打开任务管理器,但是对于应用在真实生产环境中服务器的linux系统来说,以上两种方式都不是***效的查看方式,那么今天就给大家推荐一个在linux系统中非常实用的关心系统运行健康的方式———— ‘ vmstat ’ 命令。

vmstat命令是非常实用的一种Linux/Unix监控工具,可以直观的浏览到给定的时间间隔的系统运行状态,包括服务器的CPU使用率,内存使用情况,虚拟内存交换情况, 硬盘、内存读写情况。相比top,可以让管理人员看到整个机器的CPU,内存,IO的使用情况,而不仅仅是看到单个进程的CPU使用率和内存使用率。当然也并不是说只用vmstat不用top,实际上两者是应用于不同生产环境当中。

vmstat工具的使用是通过两个数字参数来完成的,***个参数是给定的时间间隔数,单位是秒,第二个参数是查看的次数。

例如:

1: 给定的时间间隔, 1秒

3: 查看的次数

当然如果不加查看次数的话,会一直监控下去,如果不想监控那就直接停掉vmstat,这也是真实生产环境中常用的操作。

如图中所示,我一直运行vmstat,间隔一秒查看八次,然后停止。

接下来呢就来解释这个命令所显示的所有的参数的含义。

r:运行队列(就是多少个进程真的被分配到CPU),当这个值超过了CPU个数的时候就会出现CPU瓶颈。

B:表示阻塞的进程。

Swpd:虚拟内存已使用的大小,如果大于0就表示设备物理内存不足。

Free : 空闲的物理内存的大小。

Buff :系统中目录内容、权限等级的缓存

Cache : cache直接用来做文件缓冲(linux系统把空闲的物理内存的一部分拿来做文件和目录的缓存,是为了提高程序执行的性能,当程序使用内存时, buffer/cached会很快地被使用。)

Si : 每秒从磁盘读取虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露,需要查找到耗内存较大的进程解决掉。

So : 每秒虚拟内存写入磁盘的大小,如果这个值大于0,同样也表示内存不够使用。

Bi : 块设备每秒接收的块数量,这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024

Bo : 块设备每秒发送的块数量,bi和bo的值一般都要接近0,不然就是输入输出过于频繁,需要做出调整。

In : 每秒CPU的中断次数,包括时间中断。

Cs :每秒上下文切换次数,例如使用者调用系统函数,就要进行上下文切换。线程的切换,也要进程上下文切换,这个值要越小越好,太大就要考虑调低线程或者进程的数目。

Us :用户CPU时间,运行状态下用户空间的时间。

Sy :系统CPU时间,运行状态下系统空间的时间,如果太高,表示系统调用时间长。

注: us+sy=进程时间(cpu时间)

Id : 空闲 CPU时间,一般来说,id + us + sy = 100

Wt : 等待IO(输入输出) CPU时间。

linux查询健康状态,如何直观的判断你的Linux系统是否健康的更多相关文章

  1. Elasticsearch 集群和索引健康状态及常见错误说明

    之前在IDC机房线上环境部署了一套ELK日志集中分析系统, 这里简单总结下ELK中Elasticsearch健康状态相关问题, Elasticsearch的索引状态和集群状态传达着不同的意思. 一.  ...

  2. nginx自动检测后台服务器健康状态

    转自http://www.iyunv.com/thread-38535-1-1.html 公司业务线上对后端节点的健康检查是通过nginx_upstream_check_module模块做的,这里我将 ...

  3. MySQL执行SHOW STATUS查询服务器状态状态之Handler_read_* 详解

    在MySQL里,我们一般使用SHOW STATUS查询服务器状态,语法一般来说如下: SHOW [GLOBAL | SESSION] STATUS [LIKE ‘pattern’ | WHERE ex ...

  4. Varnish后端主机的健康状态检查

    author:JevonWei 版权声明:原创作品 配置后端主机的Health Check 环境 Varnish 192.168.198.139 图片服务端 192.168.198.120 程序服务端 ...

  5. nginx_upstream_check_module-master对nginx的后端机器进行健康状态检查报403错误【转】

    在nginx.conf配置文件中 在server添加 location /nstatus { check_status; access_log off; #allow 192.168.2.11; #d ...

  6. 如何编写LVS对Real Server的健康状态检测脚本

    简介:Linux 虚拟服务器(Linux Virtual Server. LVS),是一个由章文松开发的自由软件.利用KVS可以实现高可用的.可伸缩缩的Web, Mail, Cache和Medial等 ...

  7. WEB缓存系统之varnish代理以及健康状态检测配置

    前文我们聊了下varnish的缓存项修剪配置,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12666406.html:今天我来说一下varnish作为代理服务 ...

  8. linux查询操作系统信息,CPU物理个数,CPU核心数,逻辑CPU数,内存信息查询,硬盘信息查询

    目录 一.前言 二.关于服务器基本配置 2.1 操作系统基本配置查询 2.2 CPU基本配置查询 2.3 内存基本配置查询 2.4 硬盘基本配置查询 一.前言 ​ 当我们接手了一台或者几台服务器的时候 ...

  9. pod管理调度约束、与健康状态检查

    pod的管理 [root@k8s-master ~]# vim pod.yaml apiVersion: v1 kind: Pod metadata: name: nginx-pod labels: ...

随机推荐

  1. 『学了就忘』Linux基础命令 — 33、管道符

    目录 1.管道符介绍 2.管道符应用 (1)例子1: (2)例子2: (3)例子3: 1.管道符介绍 管道符|,也是Shell命令. 管道符的作用是链接多个命令,把命令1的结果作为命令2的操作对象. ...

  2. Docker进阶一:网络篇

    理解Docker0 查看本地ip ip addr [root@VM-0-6-centos ~]# ip addr #本机回环地址 1: lo: <LOOPBACK,UP,LOWER_UP> ...

  3. 浅谈springboot自动配置原理

    前言 springboot自动配置关键在于@SpringBootApplication注解,启动类之所以作为项目启动的入口,也是因为该注解,下面浅谈下这个注解的作用和实现原理 @SpringBootA ...

  4. 津门杯WriteUP

    最近很浮躁,好好学习 WEB power_cut 扫目录 index.php <?php class logger{ public $logFile; public $initMsg; publ ...

  5. JVM-学习笔记持续更新

    1.Java虚拟机的基本结构 (1)类加载子系统与方法区: 类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放在一块称为方法区的内存空间.除了类的信息外,方法区中可能还会存放运行 ...

  6. [luogu5537]系统设计

    考虑哈希,令$h[x]$表示根到$x$路径的哈希值,那么有$h[x]+hash(l,r)=h[ans]$ 考虑用线段树维护$a_{i}$的区间哈希值,并用map去找到对应的$ans$ 但还有一个问题, ...

  7. lambda函数实现链表的小根堆

    struct ListNode { int val; ListNode *next; ListNode() : val(0), next(nullptr) {} explicit ListNode(i ...

  8. 31、下一个排列 | 算法(leetode,附思维导图 + 全部解法)300题

    零 标题:算法(leetode,附思维导图 + 全部解法)300题之(31)下一个排列 一 题目描述 二 解法总览(思维导图) 三 全部解法 1 方案1 1)代码: // 方案1 "双指针法 ...

  9. 什么是JIT?

    目录 什么是JIT? 为什么HotSpot虚拟机要使用解释器与编译器并存的架构? 编译的时间开销 什么是JIT? 1.动态编译(dynamic compilation)指的是"在运行时进行编 ...

  10. R语言与医学统计图形-【14】ggplot2几何对象之直方密度图

    ggplot2绘图系统--几何对象之直方图.密度图 1.直方图 参数. geom_histogram(mapping = , data = , stat = 'bin', #统计变换,概率密度为den ...