mysql:9108
From: <kuyo@xxxxxxxxxx>
Date: Tue, 30 Mar 2004 22:44:18 +0900
Subject: [mysql 09108] Re: mysql3.23 on FreeBSD のレプリカにて異常な CPU 使用時間の問題
はじめまして。 山本と申します。 mysql.com に掲載されているドキュメントでは FreeBSD での注意点として、 特定の状況で CPU 使用率が 100% になることがあるとありますね。 http://www.mysql.com/doc/ja/FreeBSD.html この例では gethostbyname() にて発生するとありますが、松本さんの 場合では gettimeofday() が大量に呼び出されているとの事なので、 この関数もスレッドセーフでは無いのかもしれません。 FreeBSD は詳しくなく推測の回答ですが、参考になれば幸いです。 ---- Hideki Yamamoto kuyo@xxxxxxxxxx At 30 Mar 2004 17:23:03 +0900, MATSUMOTO wrote: > > 松本と申します。 > > FreeBSD 4.8-RELEASE-p13を利用してmysqlのレプリカ構成で利用しております。 > > マスタ側マシン > FreeBSD4.8-RELEASE-p13 > mysql3.23.58 > (portsからインストール WITH_CHARSET=ujis WITH_XCHARSET=allを指定) > スレーブ側マシン > FreeBSD4.8-RELEASE-p13 > mysql3.23.58 > > 以上の構成にてmysqlを利用しているのですが、スレーブ側マシンにてほぼ100%のCPU時間をmysqldが使ってしまっています。(SMPなマシンですので、vmstatでは50%と表示されておりますがFreeBSDのスレッドでは1つのCPUしかつかえないのでほぼ100%のCPU時間を使っていると思います。) > スレーブ側は秒間10程度のクエリーを処理しておりますがとても100%のCPU時間を使うとは思えません。 > この問題について、どなたか情報をお持ちの方いらっしゃらないでしょうか。確認する点だけでも分かればアドバイスいただけないでしょうか。 > > 以下に調べた事を書いております。ログには特にメッセージは表示されておりませんでした。 > > vmstatで確認したところ非常に多くのシステムコールが多く呼ばれている事が分かりました。trussコマンドでシステムコールを表示させた結果を添付いたします。 > # vmstat 1 > procs memory page disks faults cpu > r b w avm fre flt re pi po fr sr aa0 md0 in sy cs us sy id > 1 3 0 1081124 1392800 6 0 0 0 55 0 0 0 214 272 164 1 36 63 > 1 3 0 1081124 1392796 5 0 0 0 0 0 0 0 267 303610 23 0 52 48 > 1 3 0 1081124 1392796 3 0 0 0 0 0 0 0 241 304534 23 0 51 49 > 1 3 0 1081124 1392796 3 0 0 0 0 0 0 0 250 304072 19 0 51 49 > 1 3 0 1081124 1392796 3 0 0 0 0 0 0 0 281 302945 20 0 51 49 > 1 3 0 1081124 1392796 3 0 0 0 0 0 0 0 237 304570 22 0 51 49 > > > # truss -p 8660 > poll(0x840c000,0x4,0x152e) = 1 (0x1) > gettimeofday(0x8396828,0x0) = 0 (0x0) > poll(0x840c000,0x4,0x152e) = 1 (0x1) > gettimeofday(0x8396828,0x0) = 0 (0x0) > poll(0x840c000,0x4,0x152d) = 1 (0x1) > gettimeofday(0x8396828,0x0) = 0 (0x0) > poll(0x840c000,0x4,0x152d) = 1 (0x1) > gettimeofday(0x8396828,0x0) = 0 (0x0) > poll(0x840c000,0x4,0x152c) = 1 (0x1) > gettimeofday(0x8396828,0x0) = 0 (0x0) > poll(0x840c000,0x4,0x152c) = 1 (0x1) > gettimeofday(0x8396828,0x0) = 0 (0x0) > poll(0x840c000,0x4,0x152b) = 1 (0x1) > gettimeofday(0x8396828,0x0) = 0 (0x0) > poll(0x840c000,0x4,0x152b) = 1 (0x1) > gettimeofday(0x8396828,0x0) = 0 (0x0) > poll(0x840c000,0x4,0x152a) = 1 (0x1) > gettimeofday(0x8396828,0x0) = 0 (0x0) > poll(0x840c000,0x4,0x152a) = 1 (0x1) > gettimeofday(0x8396828,0x0) = 0 (0x0)
9107 2004-03-30 17:23 [MATSUMOTO <xmatsu4@x] mysql3.23 on FreeBSD のレプリカにて異常な CPU 使用時間の問題 -> 9108 2004-03-30 22:44 ┗[<kuyo@xxxxxxxxxx> ] 9109 2004-03-31 10:10 ┗[MATSUMOTO <xmatsu4@x] 9311 2004-05-02 10:01 ┗[MATSUMOTO <xmatsu4@x]