Python 监视Solaris Sparc中的核心利用率

Python 监视Solaris Sparc中的核心利用率,python,shell,scripting,Python,Shell,Scripting,我正在尝试使用以下命令读取Sparc HW计数器: cpustat -c Instr_cnt .1 此命令将永远运行(一段时间,直到被用户中断)。样本输出为: time cpu event pic1 1.011 0 tick 6450 1.011 1 tick 9681 1.011 2 tick 2015 1.012 3 tick 535 1.012 4 tick

我正在尝试使用以下命令读取Sparc HW计数器:

cpustat -c Instr_cnt .1
此命令将永远运行(一段时间,直到被用户中断)。样本输出为:

   time cpu event      pic1   
  1.011   0  tick      6450 
  1.011   1  tick      9681 
  1.011   2  tick      2015 
  1.012   3  tick       535 
  1.012   4  tick       615 
  1.012   5  tick      7513 
  1.012   6  tick       615 
  1.013   7  tick      5187 
  1.013   8  tick       615 
  1.013   9  tick       615 
  1.013  10  tick       615 
  1.014  11  tick     60077 
  1.014  12  tick       438 
  1.014  13  tick       615 
  1.014  14  tick       615 
  1.015  15  tick       615 
  1.015  16  tick       615 
  1.015  17  tick       438 
  1.016  18  tick       615 
  1.016  19  tick       615 
^C
现在,我尝试在一个核心中获得每4个cpu(每个核心有4个cpu),将数字添加到pic1中,并求平均值。一旦平均值达到某个阈值,我想做一些负载平衡

我认为逻辑是:将第2行的所有元素放在一个数组中,然后每4行添加一个元素。 正在查找以下输出:

**Core#      Average# of Inst   Utilization (#ofInst/cpu_cycle_perSec)**
   Core_0         xxxxxxxx            10%
   Core_1         xxxxxxxx            20%
    and so on....
我是编码方面的新手,如果有人能帮我做一些简单的指导,那就太好了。这可以在shell/python中完成


提前感谢。

考虑缩减样本数据。拥有X个内核/CPU真的很重要吗。一个1核2 CPU的解决方案应该能提供您所需要的信息。还可以帮助我们将输出“Core_0”映射到输入。假设数据中的第一行是Core_0,如果您有4行样本数据,然后是第5行,这是Core_0输出的第二次迭代,则会更容易提供帮助。还是我猜错了?您的输入列表真的与您的输出匹配吗?
cpu
列是继续递增,还是返回到0?少就是多!祝你好运你好,Shelleter,我总共有32个CPU,我在不同的时间将它们分组。每个核心包含4个CPU,因此我总共有8个核心。所以Core0有Cpu0,Cpu1,Cpu2,Cpu3;Core1有Cpu4、Cpu5、Cpu6、Cpu7等。cpustat的输出将经过所有CPU,从0开始(如果0中有任何活动),一直到32(或组中任何其他最大数量的CPU),然后再次从0开始并继续。