2012-09-18 8 views
11

これを見ましたhttp://kaasxxx.wordpress.com/2008/01/22/linux-hz-checker/ しかし、このスクリプトはうまくいかないようです。 Linuxのターミナルで "HZ"をチェスする簡単な方法は、とにかく分かりますか?端末のHZを確認するには?

おかげで、:>

+0

おそらくこれが役立つかもしれない:http://www.advenage.com/topics/linux-timer-interrupt-frequency.php –

+0

@Shawinチンおかげで、 –

答えて

19

いくつかのケースでは、あなたのカーネルが「ティックレス」をコンパイルし、すべてで定期的にタイマ割り込みを使用しないですることができるように、この質問への均一な答えは、ありません。しかし、従来のカーネルと従来のディストリビューションでは、現在のカーネルの.configファイルが/ bootの下にgrep 'CONFIG_HZ=' /boot/config-$(uname -r)のようなものが含まれています。

2

設定のヒントを得るには、さまざまな方法があります。いくつかのシングルコアシステムで このトリックは便利です:それはあなたの10秒の間にあったダニの量を示し

/ # cat /proc/interrupts | grep -i time; sleep 10; cat /proc/interrupts | grep time 
16: 10404858  INTC 68 Level  gp_timer 
16: 10514798  INTC 68 Level  gp_timer 

。睡眠。 約100'000です。 10で割ると約10'000のHZが得られます。

これは、コアごとのリストになるため、マルチコアシステムで混乱する可能性があります。

もう一つのオプションは、元のカーネル設定を手に入れることができるかどうかを確認することです。

/proc/config.gz 

ファイルを開いてファイルを開きます。

の部分を検索
CONFIG_HZ_FIXED=0 
# CONFIG_HZ_100 is not set 
# CONFIG_HZ_200 is not set 
# CONFIG_HZ_250 is not set 
# CONFIG_HZ_300 is not set 
# CONFIG_HZ_500 is not set 
# CONFIG_HZ_1000 is not set 
CONFIG_HZ_10000=y 
CONFIG_HZ=10000 
CONFIG_SCHED_HRTICK=y 

警告するだけです。 10'000は通常の設定ではありません。実験的なセットアップ。

2

私のCプログラムでは、実行時にプロセスの開始時間と稼働時間などを値の計算に使用します。

Bashでは、HZ計算は、たとえば次のようになります。

$ awk '{print$22/'$(tail -n 1 /proc/uptime|cut -d. -f1)"}" /proc/self/stat 
100 

平均:22番目の値のuptimeを「self」プロセスの開始時刻で割ってください。

編集:

はい、user1530335、これは正しいです。 statファイルに関する追加情報は、manページproc(5)から取得できます。ここで、フィールドstarttimeは、システムブート後にプロセスが開始された時刻です。

はい、主に(Intelアーチ)100となります。古い稀な「プリエンプト」カーネルでは、インテルでも1000を超えることがありました。他の値は次のようになります。

/** 
* 10 S/390 (sometimes) 
* 20 User-mode Linux 
* 32 ia64 emulator 
* 64 StrongARM /Shark 
* 100 normal Linux 
* 128 MIPS, ARM 
* 1000 ARM 
* 1024 Alpha, ia64 
* 1200 Alpha 
*/ 
+0

フィールド22は、開始時間でありますのプロセスのクロックティック。 [/proc/(pid)/stat](http://man7.org/linux/man-pages/man5/proc.5.html)までスクロールしてください。 – user1530335

+0

/proc/uptimeにはシステムの稼働時間に関する情報があります。 [最初の数字は、システムが稼働している合計秒数です。](https://www.centos.org/docs/5/html/5.1/Deployment_Guide/s2-proc-uptime。hk) 本質的にreichhartは、CONFIG_HZは「起動(ティック)/開始時間(秒)からの時間」の単位が「チック/秒」であると言っています ほとんどの場合、これは毎秒100ティックでなければなりません。 – user1530335

関連する問題