Unix vmstat命令

版权声明:站在巨人的肩膀上,才可以看的更高更远。 https://blog.csdn.net/u011078141/article/details/88090476

原 Unix vmstat 命令https://blog.csdn.net/tianlesoftware/article/details/5464408版权声明: https://blog.csdn.net/tianlesoftware/article/details/5464408
  Virtual Memory Statistics ( vmstat ) 是报告关于进程,虚拟内存,磁盘,CPU活动的一个统计报告.
在一个多CPU系统中,vmstat统计所有个数的CPU的平均输出.为每个进程进行统计.没有参数时,vmstat显示每一行是自从系统启动以后的虚拟内存的活动情况.

vmstat 的语法我们可以通过linux的man 命令来查看。
  将man 的结果导入到指定的文本
# man vmstat|col -b > /u01/tianlesoftware.txt
  查看vmstat 用法
# man vmstat
VMSTAT(8)  Linux Administrator’s Manual     VMSTAT(8)
NAME
       vmstat - Report virtual memory statistics
SYNOPSIS
       vmstat [-a] [-n] [delay [ count]]
       vmstat [-f] [-s] [-m]
       vmstat [-S unit]
       vmstat [-d]
       vmstat [-p disk partition]
       vmstat [-V]
DESCRIPTION
       vmstat  reports information about processes, memory, paging, block IO,
       traps, and cpu activity.
       The first report produced gives averages since the last reboot. Addi-
       tional  reports give information on a sampling period of length delay.
       The process and memory reports are instantaneous in either case.
   Options
       The -a  switch displays active/inactive memory, given a  2.5.41  kernel
       or better.
       The  -f  switch displays the number of forks since boot. This includes
       the fork, vfork, and clone system calls,  and  is  equivalent  to  the
       total  number  of tasks created. Each process is represented by one or
       more tasks, depending on thread usage.  This display does not  repeat.
       The -m displays slabinfo.
       The  -n switch causes the header to be displayed only once rather than
       periodically.
       The -s switch displays a table of various event counters  and  memory
       statistics. This display does not repeat.
       delay  is the delay between updates in seconds. If no delay is speci-
       fied, only one report is printed with the average values since boot.
       count is the number of updates. If no count is specified and delay is
       defined, count defaults to infinity.
         The -d reports disk statistics (2.5.70 or above required)
       The -p followed by some partition name for detailed statistics (2.5.70
       or above required)
       The -S followed by k or K or m or M  switches  outputs  between 1000,
       1024, 1000000, or 1048576 bytes
       The -V switch results in displaying version information.
  FIELD DESCRIPTION FOR VM MODE
   Procs
       r: The number of processes waiting for run time.
       b: The number of processes in uninterruptible sleep.
   Memory
       swpd: the amount of virtual memory used.
       free: the amount of idle memory.
       buff: the amount of memory used as buffers.
       cache: the amount of memory used as cache.
       inact: the amount of inactive memory. (-a option)
       active: the amount of active memory. (-a option)
   Swap
       si: Amount of memory swapped in from disk (/s).
       so: Amount of memory swapped to disk (/s).
   IO
       bi: Blocks received from a block device (blocks/s).
       bo: Blocks sent to a block device (blocks/s).
   System
       in: The number of interrupts per second, including the clock.
       cs: The number of context switches per second.
   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. Prior to Linux 2.5.41, this includes IO-wait time.
       wa: Time spent waiting for IO. Prior to Linux 2.5.41, shown as zero.
  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
       s: seconds spent for I/O
  FIELD DESCRIPTION FOR DISK PARTITION MODE
       reads: Total number of reads issued to this partition
       read sectors: Total read sectors for partition
       writes : Total number of writes issued to this partition
       requested writes: Total number of write requests made for partition
  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
       totpages: Total number of allocated pages
       pslab: Number of pages per slab
NOTES
       vmstat does not require special permissions.
         These reports are intended to help identify system bottlenecks. Linux
       vmstat does not count itself as a running process.
         All linux blocks are currently 1024  bytes.  Old  kernels  may  report
       blocks as 512 bytes, 2048 bytes, or 4096 bytes.
         Since  procps 3.1.9, vmstat lets you choose units (k, K, m, M) default
       is K (1024 bytes) in the default mode
         vmstat uses slabinfo 1.1    FIXME
FILES
       /proc/meminfo
       /proc/stat
       /proc/*/stat
SEE ALSO
       iostat(1), sar(1), mpstat(1), ps(1), top(1), free(1)
BUGS
       Does not tabulate the block io per device or count the number of  sys-
       tem calls.
AUTHORS
       Written by Henry Ware <[email protected]>.
       Fabian Frédérick <[email protected]> (diskstat, slab, partitions...)
Throatwobbler Ginkgo Labs 27 July 1994     VMSTAT(8)


示例:
# vmstat 2 10
procs -----------memory----------------------  -----swap---  -----io----  ---system--- ----cpu------
 r  b    swpd   free   buff  cache     si   so    bi    bo   in    cs  us sy id wa
 1  1    208  28960  38128 268204    0    0   278    40 1050   370  5 46 44  5
 1  0    208  28896  38128 268204    0    0   128     0 1054   310  4 38 58  1
 2  0    208  28896  38136 268196    0    0   257    55 1056   301  4 39 52  5
 2  0    208  24896  38136 268196    0    0   257     1 1042   593  6 87  7  0
 0  0    208  28672  38136 268196    0    0   257    25 1052   372  4 46 45  5
 0  0    208  28824  38140 268192    0    0   129   111 1052   316  3 32 64  1
 1  0    208  28768  38148 268184    0    0   257   109 1050   286  9 70 21  1
 1  0    208  28512  38148 268184    0    0   257     1 1046   327  6 48 43  2
 0  0    208  28832  38148 268184    0    0   257     1 1047   313  5 42 52  1
 0  0    208  28832  38152 268180    0    0   257   109 1050   308  4 33 59  5
  每2秒显示一次,共显示10次。
    在Unix(Solaris)平台下:
-bash-3.00$ vmstat 2 10
 kthr      memory            page            disk          faults      cpu
 r b w   swap  free  re  mf pi po fr de sr s0 s1 -- --   in   sy   cs us sy id
 0 0 0 5016344 4200040 126 512 35 0 0 0  0  0  1  0  0  731 1416  723  3  0 97
 0 0 0 2065576 2375112 14 54 0  0  0  0  0  0  0  0  0  870  625  950  3  0 96
 0 0 0 2065512 2375048 11 50 0  0  0  0  0  0  0  0  0  951  529 1066  3  0 97
 0 0 0 2065512 2375048 11 53 0  0  0  0  0  0  0  0  0  852  548  934  3  0 97
 0 0 0 2065512 2375048 4 40  0  0  0  0  0  0  0  0  0  836  483  907  3  0 97
 0 0 0 2065512 2375048 14 46 0  0  0  0  0  0  0  0  0  873  632  958  3  0 97
 0 0 0 2065512 2375048 0  0  0  0  0  0  0  0  0  0  0  812  417  863  3  0 97
 0 0 0 2065512 2375048 4 40  0  0  0  0  0  0  0  0  0  810  481  874  3  0 97
 0 0 0 2065384 2374920 0  0  0  0  0  0  0  0  1  0  0  801  406  862  3  0 96
 0 0 0 2065384 2374920 14 46 0  0  0  0  0  0  0  0  0  817  545  898  3  0 97
  一些标准说明:
  CPU:
1) 如果(process r)是连续的大于在系统中的CPU的个数表示系统现在运行比较慢,有多数的进程等待CPU.
2) 如果r的输出数大于系统中可用CPU个数的4倍的话,则系统面临着CPU短缺的问题,或者是CPU的速率过低,系统中有多数的进程在等待CPU,造成系统中进程运行过慢.
3) 如果空闲时间(cpu id)持续为0并且系统时间(cpu sy)是用户时间的两倍(cpu us) 系统则面临着CPU资源的短缺.
简单的说就是:
r 和 b 不高于5,如果r 经常大于4,且id 经常少于40,则表示CPU 负荷很重。
us+sy 不超过80%,如果大于80,进程就会在运行队列中花费等待时间,响应时间和吞吐量就会下降。
wa 不超过25, 如果说wa >40表明磁盘io没有也许存在不合理的平衡,或者对磁盘操作比较频繁
  一般情况下,导致CPU资源不足都是应用程序的问题.比如一些SQL语句不合理等等都会造成这样的现象.
      内存:
si和so基本为零。 其中si表示当前每秒交换回内存(Swap in)的总量,单位为kbytes;so表示当前每秒交换出内存(Swap out)的总量,单位为kbytes。如果si,so 长期不等于0,表示系统使用swap 频繁,即内存不足。
  一般情况下,如果内存的占用率比较高,但是,CPU的占用很低的时候,可以考虑是有很多的应用程序占用了内存没有释放.
  要注意的是,Linux 内存在使用后不会释放,所以一般会看到内存使用率很高,要判断linux 内存是否正常,需要通过对swap 交换区的交换频率来看。 
    具体参考blog:Linux 内存机制
http://blog.csdn.net/tianlesoftware/archive/2010/04/08/5463790.aspx
 
------------------------------------------------------------------------------
QQ: 492913789
Email: [email protected]
Blog: http://www.cndba.cn/dave
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 群:62697716(满); DBA2 群:62697977(满)
DBA3 群:63306533;     聊天 群:40132017
 https://img-blog.csdnimg.cn/20190217105710569.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTEwNzgxNDE=,size_16,color_FFFFFF,t_70《算法导论 第三版英文版》_高清中文版.pdf
https://pan.baidu.com/s/17D1kXU6dLdU0YwHM2cvNMw
《深度学习入门:基于Python的理论与实现》_高清中文版.pdf
https://pan.baidu.com/s/1IeVs35f3gX5r6eAdiRQw4A
《深入浅出数据分析》_高清中文版.pdf
https://pan.baidu.com/s/1GV-QNbtmjZqumDkk8s7z5w
《Python编程:从入门到实践》_高清中文版.pdf
https://pan.baidu.com/s/1GUNSg4mdpeOf1LC_MjXunQ
《Python科学计算》_高清中文版.pdf
https://pan.baidu.com/s/1-hDKhK-7rDDFll_UFpKmpw

猜你喜欢

转载自blog.csdn.net/u011078141/article/details/88090476
今日推荐