LINUX 查看当前系统的内存使用情况 vmstat
Linux vmstat 命令
Vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。
相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。
> vmstat
[ceshi@aaaaaaaa ~]$ 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 0 323208 290276 5500528 0 0 0 2 0 0 0 0 100 0 0
一般、vmstat工具的使用是通过两个参数来完成的、
第一个参数为采样的时间、单位是秒、第二个采样的次数
> vmstat 2 1 // 表示:每隔两秒、采集一次服务器状态
[ceshi@aaaaaaaa ~]$ vmstat 2 1
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 0 323084 290276 5500528 0 0 0 2 0 0 0 0 100 0 0
实际项目中、我们一般是在一段时间内一直监控、不想监控、直接结束就ok;
> vmstat 2 // 表示每隔两秒采集一次数据、一直采集(直到主动结束程序)
[ceshi@aaaaaaaa ~]$ vmstat 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 0 323208 290276 5500528 0 0 0 2 0 0 0 0 100 0 0
0 0 0 323192 290276 5500528 0 0 0 0 248 341 0 0 100 0 0
0 0 0 323192 290276 5500528 0 0 0 0 225 333 0 0 100 0 0
2 0 0 323192 290276 5500528 0 0 0 0 225 332 0 0 100 0 0
^C
具体的、每一个参数所代表的内容如下:
r
表示运行队列;
当这个值超过了CPU数目,就会出现CPU瓶颈了;
一般负载超过了3就高了、超过了5个就比较高、超过了10个就不正常了、服务器就比较危险了;
top的负载类似每秒运行的队列。如果队列过大、表示CPU很忙、
b
表示阻塞的进程、
swpd
表示虚拟内存使用的大小
如果大于0、表示机器物理内存不足、如果不是内存泄漏的原因、就应该升级内存、或者迁移内存;
free
表示空闲内存的大小
buff
表示用来存储目录里面的内容、权限等缓存;
cache
表示缓存的大小、cache直接用来记录我们打开的文件、给文件做缓存;
(将空闲的物理内存的一部分拿来坐文件和目录的缓存、提高程序执行的性能)
(当程序使用内存时、buff/cache会很快地被使用)
si
表示每秒从磁盘读入虚拟内存的大小;
如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉;
so
表示每秒虚拟内存写入磁盘的大小;
bi
表示块设备每秒接收的块数量;
这里的块设备是指系统上所有的磁盘和其他块设备;
bo
表示块设备每秒发送的块数量;
例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。
in
表示每秒CPU的中断次数、包括时间中断;
cs
表示每秒上下文切换次数、
当调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换;
这个值要越小越好,太大了,要考虑调低线程或者进程的数目;
us
表示用户CPU时间、
sy
表示系统CPU时间;
如果太高,表示系统调用时间长
id
表示空闲CPU时间;
一般的 id + us + sy = 100
可以理解为:id是空闲CPU使用率、us是用户CPU使用率、sy是系统CPU使用率;
wt
表示等待IO、CPU时间;
LINUX 查看当前系统的内存使用情况 vmstat的更多相关文章
- LINUX 查看当前系统的内存使用情况
# free 显示结果如下: Mem:表示物理内存统计 total 内存总数 8057964KB used 已使用的内存 7852484KB free 空闲的内存数 205480KB shared 当 ...
- LINUX 查看当前系统的内存使用情况 free
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code # free 显示结果如下: Mem:表示物理内存统计 total 内存总数 8057 ...
- 如何查看centos系统cpu/内存使用情况
1.查看硬盘 [mushme@investide ~]$ df -ah 文件系统 容量 已用 可用 已用% 挂载点 /dev/cciss/c0d0p1 123G ...
- linux 查看Java 进程的内存使用情况
top -b -n 1 | grep java| awk '{print "PID:"$1",mem:"$6",CPU percent:"$ ...
- linux下对进程按照内存使用情况进行排序
linux下对进程按照内存使用情况进行排序的命令为:ps aux --sort -rss 详细解说参见 http://alvinalexander.com/linux/unix-linux-proce ...
- linux 查看cpu个数,内存情况,系统版本
查看cpu个数 总核数 = 物理CPU个数 * 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数 查看物理CPU个数 cat /proc/cpuinfo ...
- Linux下查看根目录各文件内存占用情况
一.服务器运行一点时间后各种的项目文件,日志文件,数据库备份登,会越来越多,在linux下可以使用 du 和 df 命令查看. 1.df -h 命令查看整体磁盘使用情况 2. 使用 du -ah -- ...
- 编程获取linux的CPU使用的内存使用情况
Linux可用下top.ps命令检查当前的cpu.mem用法.下面简单的例子: 一.采用ps查看资源消耗的过程 ps -aux 当您查看进程信息,第三列是CPU入住. [root@localhost ...
- Linux 带宽、CPU、内存占用情况
iftop 查看带宽占用情况(总)yum install -y iftop 安装iftopnethogs 查看进程流量 curl http://218.5.73.233:8060/ip.php 查看出 ...
随机推荐
- 分布式监控系统(类zabbix)
目录: 为什么要做监控? 监控系统业务需求分析: 监控系统架构设计: 监控系统表结构设计: 一.为什么要做监控系统? 市面上已经有很多成熟的监控系统,例如zabbix.nagios,为什么自己开发监控 ...
- vue教程自学笔记(二)
三.模板语法 1.文本 数据绑定最常见的形式就是使用“Mustache”语法 (双大括号) 的文本插值. 通过v-once指令,你也能执行一次性地插值,当数据改变时,插值处的内容不会更新. 2.原始H ...
- ID绘图工具的使用5.29
1.按住ALT拖动矩形工具,以中心绘制矩形. 绘制矩形的过程中,按住空格键可以调整矩形的位置. 2选择矩形工具,单击,可以精确输入尺寸. 3“窗口‘”信息“面板调出来.这样在绘制的时候可以边绘制边看 ...
- Typescript中的装饰器原理
Typescript中的装饰器原理 1.小原理 因为react中的高阶组件本质上是个高阶函数的调用, 所以高阶组件的使用,我们既可以使用函数式方法调用,也可以使用装饰器. 也就是说,装饰器的本质就是一 ...
- java课堂笔记3
- tensorFlow(五)深层神经网络
TensorFlow基础见前博客 上实例: MNIST 数据集介绍 MNIST 是一个手写阿拉伯数字的数据集. 其中包含有 60000 个已经标注了的训练集,还有 10000 个用于测试的测试集. 本 ...
- tensorFlow(四)浅层神经网络
tensorFlow见基础 实验 MNIST数据集介绍 MNIST是一个手写阿拉伯数字的数据集. 其中包含有60000个已经标注了的训练集,还有10000个用于测试的测试集. 本次实验的任务就是通过手 ...
- ActiveMQ使用介绍及实例
上一篇讲了rabbitmq的使用以及demo,activemq的思路也与之有相似的地方. activemq是基于Java实现的.activemq没有rabbitmq那么多的路由规则,其通信方式只有两种 ...
- HTML5:表格相关标记及其属性
表格相关标记及其属性 <table>:表格,包括以下属性 属性 说明 width 宽度(有像素和百分比两种表示方法) height 高度(有像素和百分比两种表示方法) border 边框粗 ...
- java面向对象编程(六)--四大特征之继承
本文将介绍继承.方法重载和方法覆盖.其中方法重载和方法覆盖是在讲多态时必须要清楚的一个知识点. 一.继承 1.继承的概念 继承可以解决代码复用,让我们的编程更加靠近人类思维.当多个类存在相同的属性(变 ...