いわゆるPCでは10msごとにタイマ割り込みが発生しますので、 jiffiesを100で割ればカーネルを起動してから経過した秒数が分かります。 ただし、jiffiesは unsigned long 型であり、x86ではこれは32ビットですから、 約497日経過するとゼロに戻ります。
例外として、 Red Hat 7.3 と Red Hat 8.0 の i686/Athlon カーネルは HZ=512 で動作します。 この場合、jiffies は約97日で一周します (もし、数ヵ月ごとにpsの結果がおかしくなることに悩まされているなら、 このjiffiesのオーバーフローを疑ってみて下さい。ただし、対処方はないかも)。 なお、Red Hat 9 ではこのようなことはなく、 CPUタイプに関わらずHZ=100に戻っています。 また、x86以外のCPUではHZの値はそれぞれで異なります。 さらに、Linux-2.6では様々な変更が加えられています。
引数無しでjiffiesを実行すると、現在の値を日時分秒の形式で出力します。 引数でjiffiesの値を指定すると、その値と現在時刻との差分を出力します。
> iffies JIFFIES DAY HH:MM:SS.mmm 53dc1d9 10d 04:15:34.010 (HZ=100) > jiffies 53ecfdc JIFFIES DAY HH:MM:SS.mmm 53dc26f 10d 04:15:35.510 (HZ=100) 53ecfdc 10d 04:27:05.240 + 0d 00:11:29.730 |
mcrash, Copyright (C) 2003 ASANO Masahiro |