本記事は、ubuntu 8.04でscimがCPUを占有してシステムが入力を受け付けなくなる現象についてまとめる。
原因とそれの(必要十分な)解決策がよく分かっていないから、 途中経過なども含めて多少冗長な内容でまとめている。 (ヒントになりそうな情報が漏れないように)
症状
ubuntu 8.04を入れているマシンで作業中に、突然動作が極端に遅くなった。 システムモニターで確認したところ、scim-bridgeのCPU占有率が極端に高くなっていた。 Ctrl-Alt-Delでログアウトして、再ログインするとgnomeの起動中にフリーズしてしまった。 自動起動してあったxosviewでは、CPU占有率が100%になっていた。
~/.xsession-errorsには
Start IM through /etc/X11/xinit/xinput.d/ja_JP linked to /etc/X11/xinit/xinput.d/scim-bridge. XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0" after 209 requests(70 known procesed) with 0 events remainingと書かれていた。
調査
xtermを.xsessionrcで自動起動するように設定しておくと、gnomeの起動中でフリーズした際でも作業ができるので(gnome-terminalではプロンプトが現れなくて使えなかった)、
$ ps aux | lessでプロセスを確認してみると、scim-launcherとscim-bridgeがそれぞれ50%ほどの占有率だった。
ネットで調べてみると、次の2つの方法が見つかった。
- ~/.anthy/last-record2_defaultの末尾の行を削除する(あるいはこのファイル自体を削除する) このファイルはかな漢字の変換の履歴を保持するファイルらしい。
- /tmp以下のディレクトリおよびファイルをすべて削除する
方法
2の方法を最初にやってみると、途中でフリーズせずにgnomeが完全に立ち上がったが、その後に作業しているとscimのCPU占有率が100%ほどになった。したがって、1の方法で、~/.anthy/last-record2_default.utf2の末尾の行を削除してみた。
すると次からはCPU占有率が極端に高くなることはなくなった。 しかし、上で試行錯誤しているときにシステムモニタでCPUを占有していたscim-launcherとscim-bridgeを停止させていたので、もしかしたらその効果もあるのかもしれない。。。
気になったこと
システムモニターで起動プロセスを確認してみると、二重あるいは三重で同じものが起動しているものが見られる。それらのプロセスは、上で出てきたscim-launcherやscim-bridge、他にはgconfd-2, scim-panel-gtk, scim-helper-manager, update-notifierがあった。 これらを複数起動する必要が分からない。
0 コメント:
コメントを投稿