Linux vmstat Detailed (System IO)

Source: Internet
Author: User
Tags switches high cpu usage

1. Vmstat

Can show the status of the server at a given time interval, including the server CPU utilization, memory usage, virtual memory exchange, IO Read and write conditions
Vmstat 2 10
2: Every 2s
10: Statistics 10 times

2. Res

Procs ——— –memory ———-— Swap–-–io —--system–--cpu-–
R b swpd free buff cache si so bi bo in CS us sy ID WA St
1 5 0 173436 591640 8272204 0 0 69 55 32 265 6 5 86 3 0
1 4 0 169912 592224 8273480 0 0 1180 214 4271 13984 2 3 40 55 0
0 5 0 172544 592648 8276524 0 0 1266 8 4231 13970 3 3 41 53 0
0 5 0 162404 593260 8283660 0 0 2328 0 4458 14854 2 3 21 74 0
4 5 0 174216 594412 8267996 0 0 1842 334 4592 15473 4 6 8 82 0
2 5 0 160628 595204 8274300 0 0 2384 0 4400 15003 2 3 14 81 0
0 5 0 172136 595152 8262144 0 0 2356 348 4357 14578 2 3 14 81 0
0 5 0 167064 596552 8269084 0 0 3060 22 4489 14594 3 5 19 74 0
0 6 0 160192 597148 8274024 0 0 2072 688 4318 14866 2 3 25 70 0
0 5 0 168100 597504 8258316 0 0 1734 282 4501 14670 2 5 21 72 0

3. Res parsing

R means running the queue (that is, how many processes are really allocated to the CPU), the server I am testing is currently idle, there is no program running, when this value exceeds the number of CPUs, there will be a CPU bottleneck. This is also related to top of the load, the general load over 3 is relatively high, more than 5 is high, more than 10 is not normal, the state of the server is very dangerous. The load on top is similar to the run queue per second. If the running queue is too large, it means that your CPU is busy, which generally results in high CPU usage.
b represents the blocking process, which is not much to say, the process is blocked, you understand.
SWPD virtual memory has been used size, if greater than 0, indicates that your machine is out of physical memory, if not the cause of program memory leaks, then you should upgrade the memory or the memory-consuming task to other machines.
Free physical memory size, my machine memory total 8G, the remaining 3415M.
Buff Linux/unix system is used to store, directory inside what content, permissions, etc. of the cache, I am the machine about more than 300 m
The cache cache is used directly to memorize the files we open, to buffer the files, I have about 300 m of this machine (this is the smart place of Linux/unix, the spare part of the physical memory to do the file and directory cache, is to improve the performance of the program execution, when the program uses memory, Buffer/cached will be used very quickly. )
Si reads the size of the virtual memory from disk every second, if this value is greater than 0, it means that the physical memory is not enough or the memory leaks, to find out the memory process. My machine has plenty of memory and everything is fine.
So per second The virtual memory is written to the size of the disk, if this value is greater than 0, ibid.
The number of blocks received per second by the BI block device, where the block device refers to all the disks and other block devices on the system, the default block size is 1024byte, I have no IO operation on this machine, so it's been 0, but I've seen the 140000/s on machines that handle copying large amounts of data (2-3t). Disk write speed of almost 140M per second
The number of blocks that Bo block devices send per second, such as when we read a file, the Bo will be greater than 0. Bi and Bo are generally close to 0, otherwise the IO is too frequent and needs to be adjusted.
In CPU interrupts per second, including time interrupts
CS per second, such as the number of context switches, such as we call the system function, the context switch, the thread of the switch, but also the process context switch, the smaller the value of the better, too big, to consider the number of threads or processes, such as Apache and Nginx in the Web server, We generally do performance testing will carry out thousands of concurrent or even tens of thousands of concurrent tests, the selection of the Web server process can be the process or the peak of the thread has been down, pressure measurement, until CS to a relatively small value, the process and the number of threads is a more appropriate value. System calls are also, each time the system function is called, our code will enter the kernel space, resulting in context switching, this is very resource-intensive, but also try to avoid frequent calls to system functions. Too many context switches means that most of your CPU is wasted in context switching, resulting in less time for the CPU to do serious work, and the CPU not being fully utilized, is undesirable.
US user CPU time, I used to do encryption and decryption very frequently on the server, you can see us approaching 100,r running queue reached 80 (the machine is doing a stress test, poor performance).
SY system CPU time, if too high, indicates a long system call time, for example, the IO operation is frequent.
ID Idle CPU time, in general, ID + US + sy = 100, generally I think ID is idle CPU usage, US is the user CPU usage, SY is the system CPU utilization.
WT waits for IO CPU time.

Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.

Linux vmstat Detailed (System IO)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.