Details
Description
2013-07-05 13:02:37,782 DEBUG [cloud.agent.Agent] (agentRequest-Handler-3:null) Processing command: com.cloud.agent.api.GetHostStatsCommand
2013-07-05 13:02:37,782 DEBUG [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-3:null) Executing: /bin/bash -c idle=$(top -b -n 1|grep Cpu(s):|cut -d% -f4|cut -d, -f2);echo $idle
2013-07-05 13:02:37,940 DEBUG [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-3:null) Execution is successful.
2013-07-05 13:02:37,941 DEBUG [cloud.agent.Agent] (agentRequest-Handler-3:null) Seq 1-2144469000: { Ans: , MgmtId: 159497075554, via: 1, Ver: v1, Flags: 10, [{"Answer":{"result":false,"details":"empty String","wait":0}}] }
When I check the output of Ubuntu's 13.04 top (top -v = procps-ng version 3.3.3), it's formatted like this:
raring# top -b -n 1|grep Cpu(s):
%Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 99.5 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
While on Ubuntu 12.04 (top -v = procps version 3.2.8) it looks like this:
precise# top -b -n 1|grep Cpu(s):
Cpu(s): 0.3%us, 0.1%sy, 0.0%ni, 99.6%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
So I believe it is better to split the string on a comma (,) than using the percentage (%).