当前位置: 首页 > news >正文

vmstat 监控虚拟内存,进程,CPU

文章目录

  • 1. 命令格式:
  • 2. 命令功能:
  • 3. 命令参数:
  • 4. 使用实例:
    • 实例1:显示虚拟内存使用情况
    • 实例2:显示活跃和非活跃内存
    • 实例3:查看系统已经fork了多少次
    • 实例4:查看内存使用的详细信息
    • 实例5:查看磁盘的读/写
    • 实例6:查看/dev/sda1磁盘的读/写
    • 实例7:查看系统的slab信息

1. 命令格式:

vmstat[-a] [-n] [-S unit] [delay [ count]]vmstat[-s] [-n] [-S unit]vmstat[-m] [-n] [delay [ count]]vmstat[-d] [-n] [delay [ count]]vmstat[-p disk partition] [-n] [delay [ count]]vmstat[-f]vmstat[-V]

2. 命令功能:

用来显示虚拟内存的信息

3. 命令参数:

-a:显示活跃和非活跃内存-f:显示从系统启动至今的fork数量。-m:显示slabinfo-n:只在开始时显示一次各字段名称。-s:显示内存相关统计信息及多种系统活动数量。delay:刷新时间间隔。如果不指定,只显示一条结果。count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。-d:显示磁盘相关统计信息。-p:显示指定磁盘分区统计信息-S:使用指定单位显示。参数有k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)-V:显示vmstat版本信息。

这里特别提醒一下,vmstat -S M 可以M为单位显示结果。

4. 使用实例:

实例1:显示虚拟内存使用情况

[root@localhost ~]# vmstat 5 6procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st0  0      0 3029876 199616 690980    0    0     0     2    3    2  0  0 100  0  00  0      0 3029752 199616 690980    0    0     0    41 1009   39  0  0 100  0  00  0      0 3029752 199616 690980    0    0     0     3 1004   36  0  0 100  0  00  0      0 3029752 199616 690980    0    0     0     4 1004   36  0  0 100  0  00  0      0 3029752 199616 690980    0    0     0     6 1003   33  0  0 100  0  0

备注: vmstat 5 5 表示在5秒时间内进行5次采样。将得到一个数据汇总他能够反映真正的系统情况。

字段说明:

Procs(进程):

  • r:运行队列中进程数量
  • b:等待IO的进程数量

Memory(内存):

  • swpd:使用虚拟内存大小
  • free:可用内存大小
  • buff:用作缓冲的内存大小
  • cache:用作缓存的内存大小

Swap:

  • si:每秒从交换区写到内存的大小
  • so:每秒写入交换区的内存大小

IO:(现在的Linux版本块的大小为1024bytes)

  • bi:每秒读取的块数
  • bo:每秒写入的块数

系统:

  • in:每秒中断数,包括时钟中断。
  • cs:每秒上下文切换数。

CPU(以百分比表示):

  • us:用户进程执行时间(user time)
  • sy:系统进程执行时间(system time)
  • id:空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。
  • wa:等待IO时间

如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。如果pi,po 长期不等于0,表示内存不足。如果disk 经常不等于0, 且 在 b中的队列大于3, 表示 io性能不好。Linux在具有高稳定性、可靠性的同时,具有很好的可伸缩性和扩展性,能够针对不同的应用和硬件环境调整,优化出满足当前应用需要的最佳性能。因此企业在维护Linux系统、进行系统调优时,了解系统性能分析工具是至关重要的。

实例2:显示活跃和非活跃内存

[root@localhost ~]# vmstat -a 2 5procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st0  0      0 3029752 387728 513008    0    0     0     2    3    2  0  0 100  0  00  0      0 3029752 387728 513076    0    0     0     0 1005   34  0  0 100  0  00  0      0 3029752 387728 513076    0    0     0    22 1004   36  0  0 100  0  00  0      0 3029752 387728 513076    0    0     0     0 1004   33  0  0 100  0  00  0      0 3029752 387728 513076    0    0     0     0 1003   32  0  0 100  0  0

说明:
使用-a选项显示活跃和非活跃内存时,所显示的内容除增加inact和active外,其他显示内容与例子1相同。

字段说明:

Memory(内存):

  • inact:非活跃内存大小(当使用-a选项时显示)
  • active:活跃的内存大小(当使用-a选项时显示)

实例3:查看系统已经fork了多少次

[root@localhost ~]# vmstat -f185491695 forks

说明:
这个数据是从/proc/stat中的processes字段里取得的

实例4:查看内存使用的详细信息

[root@localhost ~]# vmstat -s7762752 K total memory5004672 K used memory4768064 K active memory1804288 K inactive memory701696 K free memory256 K buffer memory2056128 K swap cache4210624 K total swap3722368 K used swap488256 K free swap469311946 non-nice user cpu ticks99144 nice user cpu ticks99670890 system cpu ticks4925007753 idle cpu ticks12343718 IO-wait cpu ticks8466593 IRQ cpu ticks13803091 softirq cpu ticks0 stolen cpu ticks5662895521 pages paged in15048048233 pages paged out4048809 pages swapped in4429446 pages swapped out1490479026 interrupts548089045 CPU context switches1692347746 boot time185494909 forks

说明:
这些信息的分别来自于/proc/meminfo,/proc/stat和/proc/vmstat。

实例5:查看磁盘的读/写

[root@localhost ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------total merged sectors      ms  total merged sectors      ms    cur    sec
vda   42493047 656210 11325792811 123390927 220328801 205076734 30096299395 1474852836      0  97159
sr0        0      0       0       0      0      0       0       0      0      0
dm-0  39111004      0 10807439693 109761070 420980531      0 30457533198 2271224580      0 290945
dm-1  4048861      0 518255488 20795930 4429446      0 566969088 35204700      0  12535
dm-2      19      0    2688       0      0      0       0       0      0      0

说明:
这些信息主要来自于/proc/diskstats.
merged:表示一次来自于合并的写/读请求,一般系统会把多个连接/邻近的读/写请求合并到一起来操作.

实例6:查看/dev/sda1磁盘的读/写

[root@localhost ~]# vmstat -p /dev/vda1
vda1            reads      read sectors      writes  requested writes115             14601           1                 1

说明:
这些信息主要来自于/proc/diskstats。

  • reads:来自于这个分区的读的次数。
  • readsectors:来自于这个分区的读扇区的次数。
  • writes:来自于这个分区的写的次数。
  • requestedwrites:来自于这个分区的写请求次数。

实例7:查看系统的slab信息

[root@localhost ~]# vmstat -m
Cache                       Num  Total   Size  Pages
nf_conntrack_expect           0      0    248    264
nf_conntrack               2491   4284    320    204
ovl_inode                  4320   4590    728     90
fat_inode_cache             249    249    784     83
fat_cache                     0      0     40   1638
scsi_sense_cache           2560   2560    128    512
ip6_dst_cache               204    204    320    204
PINGv6                        0      0   1344     48
RAWv6                       432    432   1344     48
UDPv6                       176    176   1472     44
tw_sock_TCPv6                 0      0    272    240
request_sock_TCPv6            0      0    336    195
TCPv6                       100    100   2560     25
kcopyd_job                    0      0   3312     19
dm_uevent                     0      0   2632     24
bfq_queue                   141    141    464    141
cfq_io_cq                     0      0    120    546
mqueue_inode_cache          272    272    960     68
xfs_dqtrx                     0      0    528    124
xfs_dquot                     0      0    504    130
xfs_bui_item                  0      0    216    303
xfs_rui_item                  0      0    696     94
xfs_rud_item                  0      0    176    372
xfs_inode                  8353  25636    960     68
xfs_efd_item               2220   2664    440    148
xfs_buf_item               1200   2160    272    240
xfs_trans                  7332   7332    232    282
xfs_da_state                544    544    480    136
xfs_btree_cur              1168   1168    224    292
xfs_log_ticket             1781   3916    184    356
ecryptfs_headers              0      0  65536      8
ecryptfs_inode_cache          0      0   1024     64
ecryptfs_dentry_info_cache   8192   8192     32   2048
ecryptfs_file_cache           0      0     16   4096
jbd2_journal_handle           0      0     48   1365
jbd2_journal_head             0      0    120    546
jbd2_revoke_table_s           0      0     16   4096
ext4_inode_cache              0      0   1160     56
ext4_allocation_context       0      0    128    512
ext4_io_end                   0      0     64   1024
ext4_extent_status            0      0     40   1638
mbcache                       0      0     56   1170
fscrypt_info                  0      0     32   2048
fscrypt_ctx                   0      0     80    819
kioctx                      372    372    704     93
Cache                       Num  Total   Size  Pages
userfaultfd_ctx_cache         0      0    192    341
dnotify_struct                0      0     32   2048
dio                           0      0    640    102
ip4-frags                  2730   2730    240    273
secpath_cache              6656   6656    128    512
xfrm_dst_cache             1310   3066    448    146
PING                        644    896   1152     56
RAW                         448    448   1152     56
UDP                         204    204   1280     51
tw_sock_TCP                2160   2160    272    240
request_sock_TCP            780    780    336    195
TCP                         822    832   2432     26
hugetlbfs_inode_cache       388    388    672     97
dquot                         0      0    256    256
eventpoll_pwq              3640   3640     72    910
inotify_inode_mark         3276   3276     80    819
dax_cache                   234    234    832     78
request_queue               264    264   2888     22
blkdev_ioc                 1924   1924    136    481
biovec-max                  576    720   4096     16
biovec-128                  128    128   2048     32
biovec-64                   256    256   1024     64
user_namespace                0      0    576    113
uid_cache                 13610  22506    192    341
iommu_iova                 4096   4096     64   1024
sock_inode_cache           2976   2976    704     93
skbuff_head_cache          4849   4864    256    256
configfs_dir_cache         2728   2728     96    682
file_lock_cache            1308   1308    200    327
net_namespace                80     80   6272     20
shmem_inode_cache          3556   3567    752     87
taskstats                   796    796    328    199
proc_dir_entry             3751   3751    192    341
pde_opener                 6552   6552     40   1638
proc_inode_cache           1960   2730    720     91
sigqueue                   1636   1636    160    409
bdev_cache                  204    204    960     68
kernfs_node_cache         35594  35594    136    481
mnt_cache                  2757   3570    384    170
filp                      22613  26880    256    256
inode_cache                3354   3535    648    101
dentry                    29779  62115    216    303
names_cache                 192    256   4096     16
buffer_head                1890   1890    104    630
uts_namespace               592    592    440    148
Cache                       Num  Total   Size  Pages
vm_area_struct            51834  54327    240    273
mm_struct                   844    952   1152     56
files_cache                1302   1302    704     93
signal_cache                826   1260   1088     60
sighand_cache               488    682   2112     31
task_struct                1517   1664   3904     16
cred_jar                   3069   3069    192    341
thread_stack               1482   1648  16384     16
anon_vma_chain            55999  62464     64   1024
anon_vma                  32953  46128     88    744
pid                        7168   7168    128    512
Acpi-Operand               8190   8190     72    910
Acpi-Parse                 4680   4680     56   1170
Acpi-State                 5733   5733     80    819
Acpi-Namespace             3276   3276     40   1638
shared_policy_node         5460   5460     48   1365
numa_policy               10920  10920     24   2730
pool_workqueue             4609   4864    256    256
radix_tree_node            4944  10304    584    112
task_group                  312    312    832     78
pgd_cache                  1792   1792    512    128
kmalloc-131072               20     20 131072      4
kmalloc-65536               605    656  65536      8
kmalloc-32768                64     64  32768     16
kmalloc-16384               377    432  16384     16
kmalloc-8192                136    208   8192     16
kmalloc-4096                916   1168   4096     16
kmalloc-2048               1520   1600   2048     32
kmalloc-1024               4376   6528   1024     64
kmalloc-512                3002   7040    512    128
kmalloc-256                7797   9216    256    256
kmalloc-128               95988 326656    128    512
kmem_cache_node            2048   2048    128    512
kmem_cache                  512    512    512    128

这组信息来自于/proc/slabinfo。
slab:由于内核会有许多小对象,这些对象构造销毁十分频繁,比如i-node,dentry,这些对象如果每次构建的时候就向内存要一个页(4kb),而其实只有几个字节,这样就会非常浪费,为了解决这个问题,就引入了一种新的机制来处理在同一个页框中如何分配小存储区,而slab可以对小对象进行分配,这样就不用为每一个对象分配页框,从而节省了空间,内核对一些小对象创建析构很频繁,slab对这些小对象进行缓冲,可以重复利用,减少内存分配次数。

相关文章:

vmstat 监控虚拟内存,进程,CPU

文章目录 1. 命令格式:2. 命令功能:3. 命令参数:4. 使用实例:实例1:显示虚拟内存使用情况实例2:显示活跃和非活跃内存实例3:查看系统已经fork了多少次实例4:查看内存使用的详细信息实…...

C++: 内联函数

目录 概念: 与宏的对比: 函数膨胀: 内联函数的特性: 概念: 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,没有函数调 用建立栈帧的开销,内联函数…...

ctfshow web72

下载源码: 开启环境: 本题设置了 open_basedir(),将php所能打开的文件限制在指定的目录树中,包括文件本身。 因为 ini_set() 也被限制了,所以 open_basedir() 不能用 ini_set() 重新设置绕过。 使用 php 伪协议 glob:…...

你想要一个什么样的gpt?高准确度和可靠性 问题解答 自主完成任务(智能体) 解决贫困 战争 难题 公平的价值体系

人们对GPT(为特定用途定制的ChatGPT版本)的期望因用途和需求而异。不过,普遍期望的特征可能包括: 高准确度和可靠性:提供准确、可靠的信息和回答是最基本的要求。用户友好的交互体验:易于使用,…...

VUE中一些概念的理解

Vue 中 computed、mounted 和 methods 的基本理解。 computed 计算属性 (computed):主要用于根据现有的响应式数据(即 data 中的数据或其他 computed 属性)进行计算并返回一个新的值。计算属性是基于它们的响应式依赖进行缓存的。只有当依赖…...

【ArcGIS遇上Python】python实现批量XY坐标生成shp点数据文件

单个手动生成:【ArcGIS风暴】ArcGIS 10.2导入Excel数据X、Y坐标(经纬度、平面坐标),生成Shapefile点数据图层 文章目录 一、问题分析二、解决办法三、注意事项一、问题分析 现有多个excel、txt或者csv格式的坐标数据,需要根据其坐标批量一键生成shp点数据,如下X为经度,…...

【C语言】(7)输入输出

输出 printf printf 是 C 语言中最常用的输出函数。它可以将格式化的字符串输出到控制台。 基本语法: int printf(const char *format, ...);format 是格式化字符串,用于指定输出的格式。... 表示可变数量的参数,根据格式化字符串输出相应…...

数据结构——链式二叉树

目录 🍁一、二叉树的遍历 🌕(一)、前序遍历(Preorder Traversal 亦称先序遍历) 🌕(二)、中序遍历(Inorder Traversal) 🌕(三)、后序遍历(Postorder Traver…...

SpringSecurity笔记

SpringSecurity 本笔记来自三更草堂:https://www.bilibili.com/video/BV1mm4y1X7Hc/?spm_id_from333.337.search-card.all.click,仅供个人学习使用 简介 Spring Security是Spring家族中的一个安全管理框架。相比与另外一个安全框架Shiro,…...

常见递归算法题目整理

常见递归算法题目整理 一、单路递归1、阶乘计算2、翻转字符串3、二分查找 二、多路递归1、斐波那契1)基础版2)缓存版 2、汉诺塔3、杨辉三角1)基础版2)缓存版3)优化缓存版 ) 一、单路递归 1、阶乘计算 public class …...

安全小记-Ngnix负载均衡

配置Ngnix环境 1.安装 创建Nginx的目录: mkdir /soft && mkdir /soft/nginx/ cd /home/centos/nginx下载Nginx安装包通过wget命令在线获取安装包: wget https://nginx.org/download/nginx-1.21.6.tar.gz解压Nginx压缩包: tar -x…...

CI/CD

介绍一下CI/CD CI/CD的出现改变了开发人员和测试人员发布软件的方式,从最初的瀑布模型,到最后的敏捷开发(Agile Development),再到今天的DevOps,这是现代开发人员构建出色产品的技术路线 随着DevOps的兴起,出现了持续集成,持续交付和持续部署的新方法,传统的软件开发和交付方…...

window下如何安装ffmpeg(跨平台多媒体处理工具)

ffmpeg是什么? FFmpeg是一个开源的跨平台多媒体处理工具,可以用于录制、转换和流媒体处理音视频。它包含了几个核心库和工具,可以在命令行下执行各种音视频处理操作,如剪辑、分割、合并、媒体格式转换、编解码、流媒体传输等。FFmpeg支持多…...

MySQL必看表设计经验汇总-上(精华版)

目录 1.命名要规范 2选择合适的字段类型 3.主键设计要合理 4.选择合适的字段长度 5.优先考虑逻辑删除,而不是物理删除 6.每个表都需要添加通用字段 7.一张表的字段不宜过多 前言 在数据库设计中,命名规范、合适的字段类型、主键设计、字段长度、…...

扫雷游戏(C语言)

目录 一、前言: 二、游戏规则: 三、游戏前准备 四、游戏实现 1、打印菜单 2、初始化棋盘 3、打印棋盘 4、布置雷 5、排雷 五、完整代码 一、前言: 用C语言完成扫雷游戏对于初学者来说,难度并不是很大,而且通…...

五、MySQL的备份及恢复

5.1 MySQL日志管理 在数据库保存数据时,有时候不可避免会出现数据丢失或者被破坏,这样情况下,我们必须保证数据的安全性和完整性,就需要使用日志来查看或者恢复数据了 数据库中数据丢失或被破坏可能原因: 误删除数据…...

使用dockers-compose搭建开源监控和可视化工具

简介 Prometheus 和 Grafana 是两个常用的开源监控和可视化工具。 Prometheus 是一个用于存储和查询时间序列数据的系统。它提供了用于监控和报警的数据收集、存储、查询和图形化展示能力。Prometheus 使用拉模型(pull model),通过 HTTP 协议…...

浏览器——HTTP缓存机制与webpack打包优化

文章目录 概要强缓存定义开启 关闭强缓存协商缓存工作机制通过Last-Modified If-Modified-Since通过ETag If-None-Match 不使用缓存前端利用缓存机制,修改打包方案webpack 打包webpack 打包名称优化webpack 默认的hash 值webapck其他hash 类型配置webpack打包 web…...

STM32duino舵机控制-2

使用定时器进行精确延时,串口接收数据进行 50 0度 --十六进制32 250 180度 --十六进制FA 串口接收到AA 32两个字节,舵机转到0度;接收到AA FA,转到180度。请验证代码: const unsigned…...

【知识---如何创建 GitHub 个人访问令牌】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言登录到 GitHub 帐户。在右上角的头像旁边,点击用户名,然后选择 "Settings"。在左侧导航栏中,选择 "Develope…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...

SpringTask-03.入门案例

一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...