
館澤です。 SUSE9.1で psコマンド の STIME と dateコマンドの 時刻が一致していない現象が出ました。 つねにps -f の STIME が dateコマンドで表示される 時刻より2分ほど先を行っているので気持ち悪いです。 PC:~ # ps -f UID PID PPID C STIME TTY TIME CMD root 23912 20557 0 19:38 pts/3 00:00:00 su root 23913 23912 0 19:38 pts/3 00:00:00 bash root 23954 23913 0 19:38 pts/3 00:00:00 ps -f PC:~ # date ← 上記psコマンド実行直後に実行 Wed Jan 12 19:36:21 JST 2005 psコマンドのSTIMEの時刻のソースと dateコマンドの時刻のソースは別なんでしょうか? どなたかご存知の方いらっしゃいますか。 またps の STIME とdateの時刻を一致させる方法に ついてもアドバイスがあればお願い致します。 〜〜〜〜 NTPが関係していることもあるかと思い 一応 ntpq -p の結果も挙げます。 PC:~ # ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *XXXXXXX.XXXXXX. xx.xx.xx.xx 4 u 973 1024 377 2.780 8.984 2.168 -- 館澤学 <mabu@home.email.ne.jp>

M. Takeyamaです。 On Wed, 12 Jan 2005 19:52:24 +0900 Manabu Tatesawa <mabu@home.email.ne.jp> wrote:
館澤です。
SUSE9.1で psコマンド の STIME と dateコマンドの 時刻が一致していない現象が出ました。 つねにps -f の STIME が dateコマンドで表示される 時刻より2分ほど先を行っているので気持ち悪いです。
PC:~ # ps -f UID PID PPID C STIME TTY TIME CMD root 23912 20557 0 19:38 pts/3 00:00:00 su root 23913 23912 0 19:38 pts/3 00:00:00 bash root 23954 23913 0 19:38 pts/3 00:00:00 ps -f
PC:~ # date ← 上記psコマンド実行直後に実行 Wed Jan 12 19:36:21 JST 2005 ちなみにですが、これってずーと動作させたままのマシーン でのことですか?
そうであれば、いったん、Shutdown して、電源を入れなおした 場合(直後)の結果でも同じ現象がおきますか? ----- M. Takeyama __________________________________ Do You Yahoo!? Upgrade Your Life http://bb.yahoo.co.jp/

館澤です。 M. Takeyama(takezou) wrote:
SUSE9.1で psコマンド の STIME と dateコマンドの 時刻が一致していない現象が出ました。 つねにps -f の STIME が dateコマンドで表示される 時刻より2分ほど先を行っているので気持ち悪いです。
PC:~ # ps -f UID PID PPID C STIME TTY TIME CMD root 23912 20557 0 19:38 pts/3 00:00:00 su root 23913 23912 0 19:38 pts/3 00:00:00 bash root 23954 23913 0 19:38 pts/3 00:00:00 ps -f
PC:~ # date ← 上記psコマンド実行直後に実行 Wed Jan 12 19:36:21 JST 2005
ちなみにですが、これってずーと動作させたままのマシーン でのことですか?
基本的にずっと操作させているマシンです。 uptime は 11日 でした。
そうであれば、いったん、Shutdown して、電源を入れなおした 場合(直後)の結果でも同じ現象がおきますか?
電源を入れなおして、ps -f と date コマンドを実行すると ps -ef と date の時刻が一致しました。 PC:~ # ps -ef | grep "ps -ef" | grep -v grep root 5721 5230 0 12:46 pts/0 00:00:00 ps -ef PC:~ # date ← 上記psコマンド実行直後に実行 Thu Jan 13 12:46:54 JST 2005 OSを長時間起動していると、ps -f と dateコマンドの 時刻がずれる可能性がありそうですね。 やはり、ps -f と dateコマンドでは見ている時刻が 異なっているのでしょうか。 ちなみに ・SLES9(i586)でも同現象を確認できました。 ・Redhat8、Vine2.1では ps -e とdateコマンドの時刻が ずれることはありませんでした。 -- 館澤学 mabu@home.email.ne.jp

M. Takeyamaです。 On Thu, 13 Jan 2005 13:11:15 +0900 Manabu Tatesawa <mabu@home.email.ne.jp> wrote:
館澤です。
M. Takeyama(takezou) wrote:
SUSE9.1で psコマンド の STIME と dateコマンドの 時刻が一致していない現象が出ました。 つねにps -f の STIME が dateコマンドで表示される 時刻より2分ほど先を行っているので気持ち悪いです。
PC:~ # ps -f UID PID PPID C STIME TTY TIME CMD root 23912 20557 0 19:38 pts/3 00:00:00 su root 23913 23912 0 19:38 pts/3 00:00:00 bash root 23954 23913 0 19:38 pts/3 00:00:00 ps -f
PC:~ # date ← 上記psコマンド実行直後に実行 Wed Jan 12 19:36:21 JST 2005
ちなみにですが、これってずーと動作させたままのマシーン でのことですか?
基本的にずっと操作させているマシンです。 uptime は 11日 でした。
そうであれば、いったん、Shutdown して、電源を入れなおした 場合(直後)の結果でも同じ現象がおきますか?
電源を入れなおして、ps -f と date コマンドを実行すると ps -ef と date の時刻が一致しました。 そうであれば、ソフト的なシステム時間(date)とハード ウェア的なシステム時間(ps のCTIME)とで不一致が生じて いたということです。 date --- ソフト的なシステム時間を psのCTIME --- ハードウェア(BIOS)のシステム時間を みているということではないでしょうか。 | V では、何で、リブートしたら一致するかですが... システム起動時に、boot.clockで hwclockコマンドでハード ウェアー(BIOS)のシステム時間にソフト的なシステム時間を 一致させています。 #システム起動直後、date と CTIME(ps -f)が一致している。 | V 回避方法ですが... ソフト的なシステム時間時間にハードウェアー(BIOS)のシス テム時間をあわせる。 #ntpの時間が正確ならという前提で。(crontabなどで定期的に調整する) # hwclock --systohc #(現在のシステムクロックにハードウェアクロックをあわせる)
OSを長時間起動していると、ps -f と dateコマンドの 時刻がずれる可能性がありそうですね。
やはり、ps -f と dateコマンドでは見ている時刻が 異なっているのでしょうか。
ちなみに ・SLES9(i586)でも同現象を確認できました。 ・Redhat8、Vine2.1では ps -e とdateコマンドの時刻が ずれることはありませんでした。 詳しいことは、hwclockのmanをみてください。 本当のこと(ズレた原因)はわからないですけど、ディストロというより マシーンとか環境(クロック関係の誤差って温度に依存するですよね。) の要素の方が強いと思います。
ただ、参照先のNTPの時間が2分程度(最初から)ずれているなら、 別の意味で参照先の変更などの見直しが必要かもしれません。 #前回からのメールの情報だけだと判断つきません。 # refid が、”.GPS.”だと確かに stratum1のNTPをみて #いるということが言えますけど... ----- M. Takeyama __________________________________ Do You Yahoo!? Upgrade Your Life http://bb.yahoo.co.jp/

At Thu, 13 Jan 2005 13:11:15 +0900, Manabu Tatesawa wrote:
館澤です。
M. Takeyama(takezou) wrote:
SUSE9.1で psコマンド の STIME と dateコマンドの 時刻が一致していない現象が出ました。 つねにps -f の STIME が dateコマンドで表示される 時刻より2分ほど先を行っているので気持ち悪いです。
PC:~ # ps -f UID PID PPID C STIME TTY TIME CMD root 23912 20557 0 19:38 pts/3 00:00:00 su root 23913 23912 0 19:38 pts/3 00:00:00 bash root 23954 23913 0 19:38 pts/3 00:00:00 ps -f
PC:~ # date ← 上記psコマンド実行直後に実行 Wed Jan 12 19:36:21 JST 2005
ちなみにですが、これってずーと動作させたままのマシーン でのことですか?
基本的にずっと操作させているマシンです。 uptime は 11日 でした。
そうであれば、いったん、Shutdown して、電源を入れなおした 場合(直後)の結果でも同じ現象がおきますか?
電源を入れなおして、ps -f と date コマンドを実行すると ps -ef と date の時刻が一致しました。
PC:~ # ps -ef | grep "ps -ef" | grep -v grep root 5721 5230 0 12:46 pts/0 00:00:00 ps -ef
PC:~ # date ← 上記psコマンド実行直後に実行 Thu Jan 13 12:46:54 JST 2005
OSを長時間起動していると、ps -f と dateコマンドの 時刻がずれる可能性がありそうですね。
やはり、ps -f と dateコマンドでは見ている時刻が 異なっているのでしょうか。
プロセス自身は開始「時刻」を記憶しているのではなく、開始時の jiffies を記憶しています。procps では、これを読み出して、ブート時刻からの経過 時間として計算します。 その計算で HZ を用いているのですが、もしかしたら、cpufreq などで clock が可変の場合に、おかしな事になっているのかもしれません。この場合 TSC の間隔も変わりますので、補正が必要になるためです。 カーネル内の時刻に関しては補正を行っていますが、ps で参照する値は補正 されていないようですね。
ちなみに ・SLES9(i586)でも同現象を確認できました。 ・Redhat8、Vine2.1では ps -e とdateコマンドの時刻が ずれることはありませんでした。
2.4 と 2.6 カーネルの違いだと思いますよ。 2.6 では、HZ=1000 がデフォルトなので、時刻回りが多少不正確なところがあ ります。 -- Takashi Iwai <tiwai@suse.de> ALSA Developer - www.alsa-project.org
participants (3)
-
M. Takeyama(takezou)
-
Manabu Tatesawa
-
Takashi Iwai