2014-06-10 22 views
-1

我想創建一個自動化程序來捕捉程序運行時CPU的渦輪速度。運行程序時捕獲渦輪速度

我的自動化腳本應該使用perl語言。

我曾嘗試使用:

system("script mytest.txt"); 
system("./turbostat"); 

當我執行這個程序,只有腳本行工作,但不turbostat。

有人可以通過我可以捕捉turbospeed的任何方式?

+0

如果你是一個普通的Linux系統上你可能會從'/ proc中/ cpuinfo'讀取。對於每個內核,您都可以閱讀「型號名稱」(通常包含處理器的設計速度)以及「CPU MHz」字段,該字段將顯示內核的運行速度。 – DavidO

+0

實際上我想知道程序執行時的turbospeed。我有一個名爲turbostat的程序,當我運行我的基準測試時,它將顯示CPU的速度。所以我想寫一段代碼,當我運行我的基準測試時,它會自動記錄turbospeed:D –

+0

您是否在問英特爾睿頻加速技術,以及目前有多少倍數的100MHz或133MHz?如果沒有,也許你可以解釋「渦輪速度」這個詞的含義(這似乎不常見)。 – DavidO

回答

0

看看Sys::Info::Device::CPU模塊。

提要

use Sys::Info; 
    use Sys::Info::Constants qw(:device_cpu); 
    my $info = Sys::Info->new; 
    my $cpu = $info->device(CPU => %options); 

    printf "CPU: %s\n", scalar($cpu->identify) || 'N/A'; 
    printf "CPU speed is %s MHz\n", $cpu->speed || 'N/A'; 
    printf "There are %d CPUs\n" , $cpu->count || 1; 
    printf "CPU load: %s\n"  , $cpu->load || 0; 
+0

感謝您的回覆。其實我想知道一個程序正在執行時的turbospeed。我有一個名爲turbostat的程序,當我運行我的基準測試時,它將顯示CPU的速度。所以我想編寫一個代碼,當我運行我的基準測試時,它會自動記錄turbospeed:D –

相關問題