2016-05-16 347 views
0

我想以編程方式獲取CPU信息。我已經爲Linux編寫了一個解決方案,但我需要爲SunOS構建一個類似的解決方案。有人有什麼主意嗎?如何通過在SunOs系統上使用python獲取CPU信息?

def getCpusInfo(): 
    cpuinfos = [] 
    cpuinfo = {} 

    for line in open('/proc/cpuinfo').readlines(): 
     line = line.strip() 
     dual = line.split(':') 
     key = dual[0].replace('\t', '') 
     if (key == 'processor'): 
      cpuinfo = {} 
      cpuinfos.append(cpuinfo) 
     elif (len(dual)>1): 
      cpuinfo[key] = trim(dual[1]) 
    return cpuinfos 



cpusinfo = getCpusInfo(); 

print "Model = " + cpusinfo[0]['model name'] 
print "Quantity = " + str(len(cpusinfo)) 
print "Cores = " + cpusinfo[0]['cpu cores'] 
print "Threads = " + cpusinfo[0]['siblings'] 
+1

也許這可以幫到您? https://blogs.oracle.com/mandalika/entry/solaris_show_me_the_cpu和http://docs.oracle.com/cd/E19253-01/816-5166/6mbb1kq5u/index.html – gurka

+0

kstat命令可以幫助 –

+0

我是期待類似於此的結果: 'Model = Intel(R)Xeon(R)CPU X5650 @ 2.67GHz Quantity = 2 Cores = 2 Threads = 2' 因此模型仍然缺失。 –

回答

0

我可以在bash中找到一個解決方案,因此它對python來說非常便攜。

感謝您的幫助在評論

CORES_F=`/usr/sbin/psrinfo -p` 
PROCESSOR=`/usr/sbin/psrinfo -vp | head -1 | awk '{print $5}'` 
MODEL=`/usr/sbin/psrinfo -pv | tail -1 | awk '{print $1}'` 
echo "Model = " $MODEL 
echo "Cores = " $CORES_F 
echo "Threads = " $PROCESSOR 

它仍然缺少CPU數量,但對我來說我不需要再保存該信息。

相關問題