溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Unix vmstat 命令

發(fā)布時(shí)間:2020-06-16 19:46:50 來(lái)源:網(wǎng)絡(luò) 閱讀:323 作者:Oracle小混子 欄目:系統(tǒng)運(yùn)維

Virtual Memory Statistics ( vmstat ) 是報(bào)告關(guān)于進(jìn)程,虛擬內(nèi)存,磁盤(pán),CPU活動(dòng)的一個(gè)統(tǒng)計(jì)報(bào)告。

在一個(gè)多CPU系統(tǒng)中,vmstat統(tǒng)計(jì)所有個(gè)數(shù)的CPU的平均輸出。為每個(gè)進(jìn)程進(jìn)行統(tǒng)計(jì)。沒(méi)有參數(shù)時(shí),vmstat顯示每一行是自從系統(tǒng)啟動(dòng)以后的虛擬內(nèi)存的活動(dòng)情況。

vmstat 的語(yǔ)法我們可以通過(guò)linux的man 命令來(lái)查看。

將man 的結(jié)果導(dǎo)入到指定的文本

# 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. Additional  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  kernelor 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 specified, 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  system calls.


AUTHORS

Written by Henry Ware <al172@yfn.ysu.edu>.

Fabian Frédérick <ffrederick@users.sourceforge.net> (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)平臺(tái)下:

-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


一些標(biāo)準(zhǔn)說(shuō)明:

CPU:

1) 如果(process r)是連續(xù)的大于在系統(tǒng)中的CPU的個(gè)數(shù)表示系統(tǒng)現(xiàn)在運(yùn)行比較慢,有多數(shù)的進(jìn)程等待CPU.

2) 如果r的輸出數(shù)大于系統(tǒng)中可用CPU個(gè)數(shù)的4倍的話,則系統(tǒng)面臨著CPU短缺的問(wèn)題,或者是CPU的速率過(guò)低,系統(tǒng)中有多數(shù)的進(jìn)程在等待CPU,造成系統(tǒng)中進(jìn)程運(yùn)行過(guò)慢。

3) 如果空閑時(shí)間(cpu id)持續(xù)為0并且系統(tǒng)時(shí)間(cpu sy)是用戶時(shí)間的兩倍(cpu us) 系統(tǒng)則面臨著CPU資源的短缺。

簡(jiǎn)單的說(shuō)就是:

r 和 b 不高于5,如果r 經(jīng)常大于4,且id 經(jīng)常少于40,則表示CPU 負(fù)荷很重。

us+sy 不超過(guò)80%,如果大于80,進(jìn)程就會(huì)在運(yùn)行隊(duì)列中花費(fèi)等待時(shí)間,響應(yīng)時(shí)間和吞吐量就會(huì)下降。

wa 不超過(guò)25, 如果說(shuō)wa >40表明磁盤(pán)io沒(méi)有也許存在不合理的平衡,或者對(duì)磁盤(pán)操作比較頻繁

一般情況下,導(dǎo)致CPU資源不足都是應(yīng)用程序的問(wèn)題。比如一些SQL語(yǔ)句不合理等等都會(huì)造成這樣的現(xiàn)象。

內(nèi)存:

si和so基本為零。 其中si表示當(dāng)前每秒交換回內(nèi)存(Swap in)的總量,單位為kbytes;so表示當(dāng)前每秒交換出內(nèi)存(Swap out)的總量,單位為kbytes。如果si,so 長(zhǎng)期不等于0,表示系統(tǒng)使用swap 頻繁,即內(nèi)存不足。

一般情況下,如果內(nèi)存的占用率比較高,但是,CPU的占用很低的時(shí)候,可以考慮是有很多的應(yīng)用程序占用了內(nèi)存沒(méi)有釋放。

要注意的是,Linux 內(nèi)存在使用后不會(huì)釋放,所以一般會(huì)看到內(nèi)存使用率很高,要判斷l(xiāng)inux 內(nèi)存是否正常,需要通過(guò)對(duì)swap 交換區(qū)的交換頻率來(lái)看。


oracle視頻教程請(qǐng)關(guān)注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI