https://onitroad.com 更多教程
2.Xenmon.py
xenmon.py 命令显示特定的物理 CPU 信息,例如:
# /usr/sbin/xenmon.py CPU = 0 Last 10 seconds (99.80%) Last 1 second (99.72%) ======================================================= 0 588.45 ms 58.84% 0.00 ns/io 581.26 ms 58.13% 0.00 ns/io Blocked 0 17.87 ms 1.79% 44.77 us/ex 37.90 ms 3.79% 96.75 us/ex Waited 28 26.00 ms 2.60% 16.02 us/ex 20.30 ms 2.03% 14.22 us/ex Gotten 28 611.88 ms 61.19% 0.00 ns/io 586.71 ms 58.67% 0.00 ns/io Blocked 28 26.19 ms 2.62% 16.14 us/ex 67.13 ms 6.71% 47.02 us/ex Waited 49 546.79 ms 54.68% 0.00 ns/io 560.84 ms 56.08% 0.00 ns/io Blocked 49 1.13 ms 0.11% 69.04 us/ex 6.18 ms 0.62% 441.01 us/ex Waited * 99.80% 99.84%
上面的示例输出显示了有关物理 CPU 0 的信息,例如:CPU=0 是如何被各个域使用的,以及它在过去 1 秒和 10 秒内使用了多长时间。
第一列报告域 ID 0 指的是 Dom-0。
每个域打印三行:
- 第一行:Gotten = CPU 时间量/CPU 在域上运行的百分比。
- 第二行:Blocked = 睡眠时间/百分比。
- 第三行:Waited = CPU 时间量/域处于等待状态的百分比。
按“p”或者“n”键可显示上一个/下一个物理 CPU 的信息。
Xenmon.py 用法:
usage: xenmon.py [options] options: -h, --help show this help message and exit -l, --live show the ncurses live monitoring frontend (default) -n, --notlive write to file instead of live monitoring -p PREFIX, --prefix=PREFIX prefix to use for output files -t DURATION, --time=DURATION stop logging to file after this much time has elapsed (in seconds). set to 0 to keep logging indefinitely -i INTERVAL, --interval=INTERVAL interval for logging (in ms) --ms_per_sample=MSPERSAMPLE determines how many ms worth of data goes in a sample --cpu=CPU specifies which cpu to display data for --allocated Display allocated time for each domain --noallocated Don't display allocated time for each domain --blocked Display blocked time for each domain --noblocked Don't display blocked time for each domain --waited Display waiting time for each domain --nowaited Don't display waiting time for each domain --excount Display execution count for each domain --noexcount Don't display execution count for each domain --iocount Display I/O count for each domain --noiocount Don't display I/O count for each domain
1.xentop
xentop -v 命令显示虚拟 CPU 信息,例如:
# xentop -v 6 domains: 2 running, 3 blocked, 0 paused, 0 crashed, 0 dying, 0 shutdown Mem: 8312440k total, 6212448k used, 2099992k free CPUs: 2 @ 2128MHz NAME STATE CPU(sec) CPU(%) MEM(k) MEM(%) MAXMEM(k) MAXMEM(%) VCPUS NETS NETTX(k) NETRX(k) VBDS VBD_OO VBD_RD VBD_WR SSID 4461_EL5U3 ------ 53060 0.0 1056636 12.7 1064960 12.8 1 0 0 0 3 0 0 0 0 VCPUs(sec): 0: 53060s 4474_EL5U2 ------ 45070 0.0 1056636 12.7 1064960 12.8 2 0 0 0 2 0 0 0 0 VCPUs(sec): 0: 32213s 1: 12857s 4516_EL4U6 -----r 512039 0.0 1056636 12.7 1064960 12.8 1 0 0 0 2 0 0 0 0 VCPUs(sec): 0: 512039s 4570_EL464 --b--- 302 0.0 2097152 25.2 2097152 25.2 1 1 10 218297 1 0 22371 16768 0 VCPUs(sec): 0: 302s Domain-0 -----r 87787 0.0 254976 3.1 no limit n/a 2 8 1717873 4158394 0 0 0 0 0 VCPUs(sec): 0: 57819s 1: 29968s 4511_EL564 --b--- 108 0.0 524288 6.3 524288 6.3 2 1 342 214623 1 0 822 1 0 VCPUs(sec): 0: 96s 1: 12s
在上面的示例中,域 Domain-0、4474_EL5U2 和 4511_EL564 均使用两个虚拟 CPU,而所有其他域仅使用一个虚拟 CPU。
Domain-0 使用的总 CPU 时间为 87787 秒; VCPU0 上为 57,819 秒,VCPU1 上为 29,968 秒。
Xentop 用法:
Usage: xentop [OPTION] Displays ongoing information about xen vm resources -h, --help display this help and exit -V, --version output version information and exit -d, --delay=SECONDS seconds between updates (default 3) -n, --networks output vif network data -x, --vbds output vbd block device data -r, --repeat-header repeat table header before each domain -v, --vcpus output vcpu data -b, --batch output in batch mode, no user input accepted -i, --iterations number of iterations before exiting -f, --full-name output the full domain name (not truncated) # Note: this can be used from the latest version of Oracle VM Server 2.2.2
参数的意思:
参数 | 含义 |
---|---|
CPU(sec) | 来宾操作系统消耗的 CPU 时间(累计) |
CPU(%) | 来宾操作系统当前消耗的 CPU 百分比。注 1:这计算为 CPU(%) = 实际分配的 CPU# * 来宾操作系统上的实际 CPU 使用率 (0-100%)。因此,当 3 个 CPU 分配给来宾操作系统时,这可能高达 300%。 实际分配的CPU# 不是分配给客户操作系统的虚拟 CPU 编号,而是分配给客户操作系统的实际 CPU 编号,因为即使分配给客户操作系统的 VCPU 为 3 个或者更多,当物理 CPU 内核为 2 时,它也应该高达 200%。注意 2:在第一个 xentop 输出处,这始终为 0.0%,因为这是通过除以更新间隔计算得出的。因此 -i 选项需要设置为 2 或者更多才能获得正确的 CPU(%)。注意3:这只是显示了来宾操作系统在主机操作系统上的 CPU 使用率,因此这可能与 CPU 使用率不同(例如 top 显示)在来宾操作系统上。 |
MEM(k) | 来宾操作系统在主机操作系统内存上占用的内存大小(以千字节为单位)。对于Domain0,这与主机操作系统的/etc/grub.conf 中指定的dom0_mem= 相等,也与%26#8220;memory =%26#8221; 相等。在来宾操作系统的 vm.cfg 中。前任。 dom0_mem=1024M 显示 1048576(kB) 对于主机操作系统的 MEM(k)。 |
MEM(%) | 来宾操作系统在主机操作系统内存上占用的内存大小百分比 |
MAXMEM(k) | 来宾操作系统可以在主机操作系统内存上占用的最大内存大小(以千字节为单位) |
MAXMEM(%) | 来宾操作系统在主机操作系统内存上占用的最大内存大小(以百分比表示) |
VCPUS | 分配给来宾操作系统的虚拟 CPU 编号 |
NETS | 分配给来宾操作系统的虚拟网络接口编号 |
NETTX(k) | 来宾操作系统发送的网络流量(以千字节为单位)(累计) |
NETRX(k) | 来宾操作系统接收的网络流量(以千字节为单位)(累计) |
VBDS | 分配给来宾操作系统的虚拟块设备(=存储)编号 |
VBD_OO | 来宾操作系统的阻塞 I/O 数量 |
VBD_RD | 从来宾操作系统读取请求编号(累计) |
VBD_WR | 来自来宾操作系统的写入请求编号(累计) |
VBD_RSECT | 从来宾操作系统读取扇区号(累计),旧的 xentop 不显示这个 |
VBD_WSECT | 从来宾操作系统写入扇区号(累计),旧的 xentop 不显示这个 |
SSID | 不适用 |
这篇博文解释了如何获取 Oracle VM Server 的虚拟或者物理 CPU 使用率,包括来宾域的实际 CPU 使用率和运行时间。
例如,可以通过在来宾本身上运行命令来获取特定于来宾(Dom-U)的 CPU 使用率;顶、ps 和 sar。
但是,如果我们希望获得特定的 CPU 使用率,包括 Oracle VM Server 管理域/管理程序 (Dom-0) 的 CPU 使用率,则可以在 Oracle VM Server 上运行以下 xen-tools 实用程序:
- /usr/sbin/xentop -v
- /usr/sbin/xenmon.py
日期:2020-09-17 00:13:44 来源:oir作者:oir