4

我想从 command 的输出中提取一些字段xentop。这就像top命令;提供持续查看 cpu 使用情况、内存使用情况、...实时。如果我在批处理模式下运行此命令,我将在文件中看到它的输出:

      NAME  STATE   CPU(sec) CPU(%)     MEM(k) MEM(%)  MAXMEM(k) MAXMEM(%) VCPUS NETS NETTX(k) NETRX(k) VBDS   VBD_OO   VBD_RD   VBD_WR  VBD_RSECT  VBD_WSECT SSID
  Domain-0 -----r      13700   33.0    7127040   85.9   no limit       n/a     8    0        0        0    0        0        0        0          0          0    0
     fed18 -----r        738  190.6    1052640   12.7    1052672      12.7     3    1   259919     8265    1        0    82432    22750    2740966    1071672    0

并运行这个

cat file| tr '\r' '\n' | sed 's/[0-9][;][0-9][0-9][a-Z]/ /g' | col -bx | awk '{print $1,$4,$6}'

在这个文件上给了我我想要的

NAME CPU(%) MEM(%)
Domain-0 33.0 85.9
fed18 190.6 12.7

但我的脚本不适用于 xentop 的实时输出。我什至尝试通过将迭代选项设置为 1( ) 来运行 xentop 一次,xentop -i 1但它不起作用!如何将 xentop 的输出作为“非”实时传输到我的脚本?

4

2 回答 2

0

它可能不会向标准输出流发送任何输出。有几种方法可以在不使用 stdout 的情况下将输出发送到屏幕。一个快速的谷歌搜索并没有提供太多关于它如何在内部工作的信息。

于 2013-09-13T19:35:58.023 回答
0

我在 xenserver 7.0 上使用 xentop 1.0 版,例如:

[root@xen] xentop -V
xentop 1.0

[root@xen] cat /etc/centos-release
XenServer release 7.0.0-125380c (xenenterprise)

如果要保存 xentop 输出,可以使用“-b”(批处理模式)和“-i”(退出前的迭代次数)选项:

[root@xen] xentop -b -i 1
NAME  STATE   CPU(sec) CPU(%)     MEM(k) MEM(%)  MAXMEM(k) MAXMEM(%) VCPUS NETS NETTX(k) NETRX(k) VBDS   VBD_OO   VBD_RD   VBD_WR  VBD_RSECT  VBD_WSECT SSID
Domain-0 -----r     132130    0.0    4194304    1.6    4194304       1.6    16    0        0        0    0        0        0        0          0          0    0
MY_VM --b---       5652    0.0   16777208    6.3   16915456       6.3     4    0        0        0    1        -        -        -          -          -    0 

[root@xen] xentop -b -i 1 > output.txt
[root@xen] cat output.txt
NAME  STATE   CPU(sec) CPU(%)     MEM(k) MEM(%)  MAXMEM(k) MAXMEM(%) VCPUS NETS NETTX(k) NETRX(k) VBDS   VBD_OO   VBD_RD   VBD_WR  VBD_RSECT  VBD_WSECT SSID
Domain-0 -----r     132130    0.0    4194304    1.6    4194304       1.6    16    0        0        0    0        0        0        0          0          0    0
MY_VM --b---       5652    0.0   16777208    6.3   16915456       6.3     4    0        0        0    1        -        -        -          -          -    0 
于 2017-02-28T13:43:32.720 回答