环境说明
Centos6.8 x86_64
使用说明
很多时候我们需要查看各进行对于硬件资源的占用情况,譬如说CPU、Memory、Disk,在Centos6下可以通过pidstat可以查看进行对各资源的占用情况。
[root@ovirt-host-2 ~]# pidstat --help
Usage: pidstat [ options ] [ <interval> [ <count> ] ]
Options are:
[ -C <command> ] [ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -t ] [ -u ] [ -V ] [ -w ]
[ -p { <pid> [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]
pidstat后面可以跟很多参数,但是最常用的分别是:
-u:监控cpu
-r:监控内存
-d:监控硬盘
我们先来通过pidstat查看各进行占用cpu资源情况,后面的参数“1”,为显示列表的时间间隔,为1秒。
[root@ovirt-host-2 ~]# pidstat -u 1
Linux 2.6.32-642.4.2.el6.x86_64 (ovirt-host-2) 10/13/2016 _x86_64_ (8 CPU)
11:04:20 AM PID %usr %system %guest %CPU CPU Command
11:04:21 AM 3428 5.77 0.96 0.00 6.73 3 vdsm
11:04:21 AM 4637 13.46 10.58 0.00 24.04 1 sshd
11:04:21 AM 4639 1.92 3.85 0.00 5.77 3 virt-p2v-server
11:04:21 AM 4864 1.92 1.92 0.00 3.85 2 pidstat
11:04:21 AM 12080 0.96 2.88 0.00 3.85 2 pidstat
11:04:21 AM PID %usr %system %guest %CPU CPU Command
11:04:22 AM 4637 15.00 9.00 0.00 24.00 1 sshd
11:04:22 AM 4639 3.00 3.00 0.00 6.00 3 virt-p2v-server
11:04:22 AM 4864 0.00 2.00 0.00 2.00 2 pidstat
11:04:22 AM 12080 2.00 2.00 0.00 4.00 6 pidstat
11:04:22 AM PID %usr %system %guest %CPU CPU Command
11:04:23 AM 125 0.00 1.00 0.00 1.00 2 kswapd0
11:04:23 AM 2863 1.00 1.00 0.00 2.00 2 libvirtd
11:04:23 AM 3428 1.00 0.00 0.00 1.00 3 vdsm
11:04:23 AM 4637 14.00 10.00 0.00 24.00 1 sshd
11:04:23 AM 4639 2.00 4.00 0.00 6.00 3 virt-p2v-server
11:04:23 AM 4864 2.00 2.00 0.00 4.00 4 pidstat
11:04:23 AM 12080 1.00 2.00 0.00 3.00 2 pidstat
可以通过man pidstat中-u的内容,来了解上述列表中各参数的含义
-u Report CPU utilization.
When reporting statistics for individual tasks, the following values are displayed:
PID
The identification number of the task being monitored.
%usr
Percentage of CPU used by the task while executing at the user level (application), with or without nice priority. Note that this field does NOT include time spent running a virtual processor.
%system
Percentage of CPU used by the task while executing at the system level (kernel).
%guest
Percentage of CPU spent by the task in virtual machine (running a virtual processor).
%CPU
Total percentage of CPU time used by the task. In an SMP environment, the task鈙 CPU usage will be divided by the total number of CPU鈙 if option -I has been entered on the command line.
CPU
Processor number to which the task is attached.
Command
The command name of the task.
Linux 2.6.32-642.4.2.el6.x86_64 (ovirt-host-2) 10/13/2016 _x86_64_ (8 CPU)
11:07:57 AM PID minflt/s majflt/s VSZ RSS %MEM Command
11:07:58 AM 3428 12.62 0.00 2030068 42408 0.26 vdsm
11:07:58 AM 4864 619.42 0.00 101380 1216 0.01 pidstat
11:07:58 AM 12143 621.36 0.00 101384 1192 0.01 pidstat
11:07:58 AM PID minflt/s majflt/s VSZ RSS %MEM Command
11:07:59 AM 1860 9.00 0.00 18372 800 0.00 irqbalance
11:07:59 AM 2863 2.00 0.00 933520 10356 0.06 libvirtd
11:07:59 AM 3428 76.00 0.00 2030068 42408 0.26 vdsm
11:07:59 AM 4864 638.00 0.00 101380 1216 0.01 pidstat
11:07:59 AM 12143 646.00 0.00 101384 1224 0.01 pidstat
一样,通过man pidstat来查看各参数的含义
-r Report page faults and memory utilization.
When reporting statistics for individual tasks, the following values are displayed:
PID
The identification number of the task being monitored.
minflt/s
Total number of minor faults the task has made per second, those which have not required loading a memory page from disk.
majflt/s
Total number of major faults the task has made per second, those which have required loading a memory page from disk.
VSZ
Virtual Size: The virtual memory usage of entire task in kilobytes.
RSS
Resident Set Size: The non-swapped physical memory used by the task in kilobytes.
Command
The command name of the task.
下面我们来查看监控disk
[root@ovirt-host-2 ~]# pidstat -d 1
Linux 2.6.32-642.4.2.el6.x86_64 (ovirt-host-2) 10/13/2016 _x86_64_ (8 CPU)
11:12:29 AM PID kB_rd/s kB_wr/s kB_ccwr/s Command
11:12:31 AM 4639 0.00 11592.45 0.00 virt-p2v-server
11:12:31 AM PID kB_rd/s kB_wr/s kB_ccwr/s Command
11:12:32 AM 4639 0.00 8192.00 0.00 virt-p2v-server
11:12:32 AM PID kB_rd/s kB_wr/s kB_ccwr/s Command
11:12:33 AM 4639 0.00 12288.00 0.00 virt-p2v-server
11:12:33 AM PID kB_rd/s kB_wr/s kB_ccwr/s Command
11:12:34 AM 4639 0.00 12288.00 0.00 virt-p2v-server
11:12:34 AM PID kB_rd/s kB_wr/s kB_ccwr/s Command
11:12:35 AM 4639 0.00 12288.00 0.00 virt-p2v-server
查看各参数的含义
-d Report I/O statistics (kernels 2.6.20 and later only). The following values are displayed:
PID
The identification number of the task being monitored.
kB_rd/s
Number of kilobytes the task has caused to be read from disk per second.
kB_wr/s
Number of kilobytes the task has caused, or shall cause to be written to disk per second.
kB_ccwr/s
Number of kilobytes whose writing to disk has been cancelled by the task. This may occur when the task truncates some dirty pagecache. In this case, some IO which another task has been accounted for will not be happening.
Command
The command name of the task.