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 (XEN) 中获取虚拟/物理 CPU 信息

这篇博文解释了如何获取 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