Linux 内存之vmstat,2024金三银四

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注大数据)
img

正文

1.4 System

System
    in: The number of interrupts per second, including the clock.
    cs: The number of context switches per second.

其中 in 代表系统每秒发生中断的次数,包括时钟中断(是否包括了系统软中断)。

其中 cs 代表系统每秒上下文切换的次数,显示了系统总体的上下文切换情况。
上下文切换包括:进程上下文切换、线程上下文切换以及中断上下文切换(是否包括了系统调用上下文切换)。

man 手册中指出:没有统计系统调用的数目,cs应该没有包括系统调用上下文切换的次数。

Does not tabulate the block io per device or count the number of system calls.

1.5 cpu activity

CPU
    These are percentages of total CPU time.
    us: Time spent running non-kernel code.  (user time, including nice time)
    sy: Time spent running kernel code.  (system time)
    id: Time spent idle.
    wa: Time spent waiting for IO.
    st: Time stolen from a virtual machine.

二、使用步骤

2.1 vmstat -a

-a, --active
              Display active and  inactive memory

[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      0 1543828 1254616 4325384    0    0     1     1    1    5  2  1 97  0  0

inact 是 the page cache 中 inactive memory 的数目。
active 是 the page cache 中 active memory 的数目。

2.2 vmstat -f

-f, --forks

[root@localhost ~]# vmstat -f
      1688718 forks

显示自系统引导(boot)以来的fork数量。这包括fork、vfork和clone系统调用,相当于创建的任务总数。每个进程由一个或多个任务表示,具体取决于线程的使用情况。

2.3 vmstat -m

-m, --slabs
       Displays slabinfo.

[root@localhost ~]# vmstat -m
Cache                       Num  Total   Size  Pages
fuse_request                 80     80    400     20
fuse_inode                   21     21    768     21
nf_conntrack_ffff970adafd8000      0      0    320     25
nf_conntrack_ffffffff9dd11640   1200   1200    320     25
rpc_inode_cache              25     25    640     25
fat_inode_cache             432    682    720     22
fat_cache                  2346   2346     40    102
kvm_vcpu                      0      0  13056      2
xfs_dqtrx                     0      0    528     31
xfs_dquot                     0      0    488     16
xfs_ili                   95208  95208    168     24
xfs_inode                118541 118541    960     17
xfs_efd_item                 95    209    416     19
xfs_log_ticket              792    792    184     22
bio-3                       407    500    320     25
i915_dependency               0      0     64     64
i915_request                  0      0    576     28
drm_i915_gem_object         787   1218    768     21
kcopyd_job                    0      0   3312      9
dm_uevent                     0      0   2608     12
dm_rq_target_io               0      0    136     30
ip6_dst_cache               306    306    448     18
RAWv6                       104    104   1216     26
UDPLITEv6                     0      0   1216     26
UDPv6                       104    104   1216     26
tw_sock_TCPv6                 0      0    256     16
TCPv6                        60     60   2112     15
cfq_queue                     0      0    232     17
bsg_cmd                       0      0    312     26
mqueue_inode_cache           36     36    896     18
hugetlbfs_inode_cache        78     78    608     26
configfs_dir_cache           46     46     88     46
dquot                         0      0    256     16
kioctx                      112    112    576     28
userfaultfd_ctx_cache         0      0    192     21
pid_namespace                14     14   2200     14
posix_timers_cache          608    608    248     16
UDP-Lite                      0      0   1088     30
flow_cache                    0      0    144     28
UDP                         120    120   1088     30
tw_sock_TCP                 240    320    256     16
TCP                          64     64   1984     16
dax_cache                    21     21    768     21
blkdev_queue                 52     52   2456     13
blkdev_ioc                  195    195    104     39
user_namespace               68     68    480     17
sock_inode_cache           1208   1300    640     25
fsnotify_mark_connector  145872 146880     24    170
net_namespace                24     24   5248      6
shmem_inode_cache          1979   2256    680     24
Acpi-State                 2943   3417     80     51
task_delay_info             900    900    112     36
taskstats                    96     96    328     24
proc_inode_cache          89554  90336    656     24
Cache                       Num  Total   Size  Pages
sigqueue                    225    275    160     25
bdev_cache                   76     76    832     19
kernfs_node_cache         30202  30566    120     34
mnt_cache                 13601  14217    384     21
inode_cache               24273  24273    592     27
dentry                   421617 421617    192     21
iint_cache                    0      0    128     32
avc_xperms_node            1606   1606     56     73
avc_node                  18274  18368     72     56
selinux_inode_security   241622 245004     40    102
buffer_head              629616 629616    104     39
vm_area_struct            31754  32346    216     18
mm_struct                   260    260   1600     20
files_cache                 300    300    640     25
signal_cache                506    532   1152     28
sighand_cache               353    405   2112     15
task_xstate                 780    780   1088     30
task_struct                 558    637   4160      7
anon_vma                  10598  11679     80     51
shared_policy_node         3393   3655     48     85
numa_policy                  31     31    264     31
radix_tree_node           43204  43204    584     28
idr_layer_cache             375    375   2112     15
dma-kmalloc-8192              0      0   8192      4
dma-kmalloc-4096              0      0   4096      8
dma-kmalloc-2048              0      0   2048     16
dma-kmalloc-1024              0      0   1024     16
dma-kmalloc-512               0      0    512     16
dma-kmalloc-256               0      0    256     16
dma-kmalloc-128               0      0    128     32
dma-kmalloc-64                0      0     64     64
dma-kmalloc-32                0      0     32    128
dma-kmalloc-16                0      0     16    256
dma-kmalloc-8                 0      0      8    512
dma-kmalloc-192               0      0    192     21
dma-kmalloc-96                0      0     96     42
kmalloc-8192                 84    108   8192      4
kmalloc-4096                701    744   4096      8
kmalloc-2048                945   1040   2048     16
kmalloc-1024               5819   7920   1024     16
kmalloc-512                1974   4496    512     16
kmalloc-256               12207  13792    256     16
kmalloc-192                8287   8379    192     21
kmalloc-128                5374   6496    128     32
kmalloc-96                10878  10878     96     42
kmalloc-64               350630 353536     64     64
kmalloc-32               136946 138752     32    128
kmalloc-16                73134  75520     16    256
kmalloc-8                 87552  87552      8    512
kmem_cache_node             320    320     64     64
kmem_cache                  144    144    256     16

FIELD DESCRIPTION FOR SLAB MODE
       cache: Cache name
       num: Number of currently active objects
       total: Total number of available objects
       size: Size of each object
       pages: Number of pages with at least one active object

2.4 vmstat -s

-s, --stats

显示各种事件计数器和内存统计信息。

[root@localhost ~]# vmstat -s
      7890812 K total memory
       856064 K used memory
      4648752 K active memory
      1388784 K inactive memory
      1101524 K free memory
        17264 K buffer memory
      5915960 K swap cache
      8126460 K total swap
            0 K used swap
      8126460 K free swap
     15121809 non-nice user cpu ticks
        15133 nice user cpu ticks
      5119922 system cpu ticks
    690449365 idle cpu ticks
        57602 IO-wait cpu ticks
            0 IRQ cpu ticks
         5756 softirq cpu ticks
            0 stolen cpu ticks
      3828326 pages paged in
      7187387 pages paged out
            0 pages swapped in
            0 pages swapped out
    582941861 interrupts
   2668486471 CPU context switches
   1667480478 boot time
      1858539 forks

2.5 vmstat -d/D

-d, --disk
       Report disk statistics

[root@localhost ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
sda    50328   1098 5830005  346513 251291  81504 13311417 8074414      0   1322
dm-0   50608      0 5753849  362039 294970      0 13273320 29031220      0   1321
dm-1      91      0    4928    2075      0      0       0       0      0      1
dm-2      94      0    6729    1398     17      0    4440     119      0      1
sdb     3536  29173  386910   21114      2      0       2      18      0      6

FIELD DESCRIPTION FOR DISK MODE
   Reads
       total: Total reads completed successfully
       merged: grouped reads (resulting in one I/O)
       sectors: Sectors read successfully
       ms: milliseconds spent reading

   Writes
       total: Total writes completed successfully
       merged: grouped writes (resulting in one I/O)
       sectors: Sectors written successfully
       ms: milliseconds spent writing

   IO
       cur: I/O in progress  (正在进行的I/O操作)
       s: seconds spent for I/O

-D, --disk-sum
       Report some summary statistics about disk activity.

[root@localhost ~]# vmstat -D
            5 disks
            4 partitions
       104657 total reads
        30271 merged reads
     11982421 read sectors
       733139 milli reading
       546326 writes
        81506 merged writes
     26589723 written sectors
     37106137 milli writing
            0 inprogress IO
         2652 milli spent IO

三、vmstat 数据来源

[root@localhost ~]# strace -e trace=open vmstat
......
open("/proc/meminfo", O_RDONLY)         = 3
open("/proc/stat", O_RDONLY)            = 4
open("/proc/vmstat", O_RDONLY)          = 5
......

参考资料

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

open(“/proc/stat”, O_RDONLY) = 4
open(“/proc/vmstat”, O_RDONLY) = 5


## 参考资料


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)**
[外链图片转存中...(img-LQfR8IsK-1713307508245)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值