LINUX 查看当前系统的内存使用情况 vmstat

Linux vmstat 命令

Vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。

相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。

> vmstat

[[email protected] ~]$ 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   // 表示:每隔两秒、采集一次服务器状态

[[email protected] ~]$ 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  // 表示每隔两秒采集一次数据、一直采集(直到主动结束程序)

[[email protected] ~]$ 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时间;

时间: 2024-11-05 13:38:11

LINUX 查看当前系统的内存使用情况 vmstat的相关文章

LINUX 查看当前系统的内存使用情况

# free 显示结果如下: Mem:表示物理内存统计 total 内存总数 8057964KB used 已使用的内存 7852484KB free 空闲的内存数 205480KB shared 当前已经废弃不用,总是0 buffers Buffer 缓存内存数: 290432KB cached Page 缓存内存数:5735024KB (存在关系: total = used + free ) -/+ buffers/cached:表示物理内存的缓存统计 (-buffers/cache) us

LINUX 查看当前系统的内存使用情况 free

每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code # free 显示结果如下: Mem:表示物理内存统计 total 内存总数 8057964KBused 已使用的内存 7852484KBfree 空闲的内存数 205480KBshared 当前已经废弃不用,总是0buffers Buffer 缓存内存数: 290432KBcached Page 缓存内存数:5735024KB(存在关系: total = used + free )

linux下对进程按照内存使用情况进行排序

linux下对进程按照内存使用情况进行排序的命令为:ps aux --sort -rss 详细解说参见 http://alvinalexander.com/linux/unix-linux-process-memory-sort-ps-command-cpu

编程获取linux的CPU使用的内存使用情况

Linux可用下top.ps命令检查当前的cpu.mem用法.下面简单的例子: 一.采用ps查看资源消耗的过程 ps -aux 当您查看进程信息,第三列是CPU入住. [[email protected] utx86]# ps -aux | grep my_process Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ root   14415  3.4  0.9   37436  203

Linux 带宽、CPU、内存占用情况

iftop 查看带宽占用情况(总)yum install -y iftop 安装iftopnethogs 查看进程流量 curl http://218.5.73.233:8060/ip.php 查看出口ip 查看当前线程:ps -ef|grep javaps -ef|gerp com.meiya.main(包名) 1.CPU使用率情况命令:top 备注:用户占用CPU1.5%,系统占用CPU1.5%,空闲95.3%,其他占用1.7%:2.内存使用率情况命令:free -g 备注:内存总大小15G

Linux查看设置系统时区

关于时区的概念,其实初中地理课已经涉及,很多人都多少了解一些,可能只是细节搞不太清楚.为什么会将地球分为不同时区呢?因为地球总是自西向东自转,东边总比西边先看到太阳,东边的时间也总比西边的早.东边时刻与西边时刻的差值不仅要以时计,而且还要以分和秒来计算.整个地球分为二十四时区,每个时区都有自己的本地时间.在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated).UTC与格林尼治平均时(GMT, Greenwich M

win8以上系统查看iis网站进程内存占用情况

由于win8以上系统在任务管理器中已经屏蔽了具体的IIS网站的进程,在进程以及详细中无法区分是哪个站点了,所以我们需要先知道各站点对应的进程pid,然后再到任务管理器中根据具体的pid查看资源占用情况. 具体操作方法: 1.win微标+x,选择 命令提示符(管理员)(A) 2.在cmd窗口中输入下面命令,可以直接复制,即可查看所有运行中的站点的pid: c:\Windows\System32\inetsrv\appcmd list wp 注意事项: 1.命令提示符必须是管理员权限 2.如果输入命

linux 查看当前系统的负载情况

uptime linux uptime命令主要用于获取主机运行时间和查询linux系统负载等信息. eg: # uptime 02:03:50 up 126 days, 12:57, 2 users, load average: 0.08, 0.03, 0.05 10:19:04 up 257 days, 18:56, 12 users, load average: 2.10, 2.10,2.09 显示内容说明: 10:19:04 //系统当前时间 up 257 days, 18:56 //主机

linux查看与修改交换内存配置(解决zabbix-agent启动报错)

问题 zabbix-agent在一台centos6.5上启动报错: cannot allocate shared memory of size 949056: [28] No space left on device cannot allocate shared memory for collector 检查 # sysctl -a | grep shm kernel.shmmax = 33554432 kernel.shmall = 2097152 kernel.shmmni = 4096 k