Warning: Trying to access array offset on value of type bool in /home/c4323839/public_html/tak-lab.net/wp-content/plugins/only-tweet-like-share-and-google-1/tweet-like-plusone.php on line 258

Warning: Undefined array key 0 in /home/c4323839/public_html/tak-lab.net/wp-content/plugins/only-tweet-like-share-and-google-1/tweet-like-plusone.php on line 245
Linux Tips

Linux uptimeコマンド 497日問題


Warning: Undefined variable $cs1 in /home/c4323839/public_html/tak-lab.net/wp-content/plugins/only-tweet-like-share-and-google-1/tweet-like-plusone.php on line 813

Warning: Undefined variable $cs2 in /home/c4323839/public_html/tak-lab.net/wp-content/plugins/only-tweet-like-share-and-google-1/tweet-like-plusone.php on line 813

最近仕事で調べた事をメモ。

Linuxをサーバーとして使う時ってずっと電源入れっぱなしってことはザラにあるそうですが、
そんな時uptimeコマンドを使ってサーバーを起動してからの時間を調べようとするともしかすると正しく出力されない可能性があるとのこと。

なぜか?

キーワードは32bit

32bitの場合、最大で0xffffffffまでの数値を扱うことが出来るのですが、
内部のタイマーが10msec毎にしているらしくこれでは497日と少しで桁あふれを起こしてしまう。

これが497日問題。
 

これはもう仕組みの問題なのでどうにもこうにも代替案を考えるしかありません。

手っ取り早いのはLinuxのバージョンを上げること。

Linuxのカーネルのバージョンでいうと2.4系はダメで、2.6系からはOKらしい。

まあ2.4系ってかなり古いみたいですし、そんなん未だに使ってんならさっさとリプレースしてしまえ!
ってのが結論です。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です