2010年12月26日日曜日

gdm_slave_xioerror_handler について

まだ、gdm_slave_xioerror_handlerがでます。
問題は、CentOS で使用されるソフトが最新版より2〜3世代前のバージョンが多いためだと思う。
gdm_slave_xioerror_handlerのエラーの件は2〜3年前に多くでているようで、ここ最近では Fedora や Debian や Ubuntu で情報がない。

CentOS でもいづれは解消されるのであろうが、2〜3年前の情報をもとに順番に対応してみようと思います。

今回は、xorg.conf のスクリーンの解像度を変更してみます。
現象は少し異っているが、エラーが同じ「gdm_slave_xioerror_handler: 致命的な X のエラー」であったので、スクリーンの解像度の設定を変更すると問題が解消されるかどうかを検証してみることにする。

下記は、xorg.conf のスクリーンの部分を抜粋したものです。
Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        Monitor    "Monitor0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes    "1440x900" "1280x1024" "1280x960" "1280x800" "1152x864" "1024x768" "800x600" "640x480"
        EndSubSection
EndSection
※上記のDefaultDepthとDepthを24から16に変更します。
Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        Monitor    "Monitor0"
        DefaultDepth     16
        SubSection "Display"
                Viewport   0 0
                Depth     16
                Modes    "1440x900" "1280x1024" "1280x960" "1280x800" "1152x864" "1024x768" "800x600" "640x480"
        EndSubSection
EndSection
これで様子をみることにします。

今回のエラーの内容(いつもほぼ同じですが...)
Dec 26 07:38:50 hostname gconfd (username-3354): シグナル 15 を受け取ったのでシャットダウンします
Dec 26 07:38:50 hostname gdm[3246]: gdm_slave_xioerror_handler: 致命的な X のエラー - :0 を再起動します
Dec 26 07:38:50 hostname gconfd (username-3354): 終了します


その後の経過報告(2011.02.27時点)

上記の設定後に gdm_slave_xioerror_handler は発生しなくなりました。
どうやら、スクリーンの解像度の設定を変更することで問題が解消されたようです。


2010年12月23日木曜日

SyntaxHighlighterを導入

コードを掲載する時に少しでも見やすくするためにSyntaxHighlighterを導入。
this is first line.
this is second line.
this is third line.
this is forth line.
this is fifth line.
上記は、文が短いので横スクロール不要ですが、下記は文が長いので横スクロールが行えます。

設定方法については、後日掲載します。
改めて掲載しなくても、「SyntaxHighlighter」でググればすぐにわかると思いますが...

gdm_slave_xioerror_hander

gdmがクラッシュしてログイン画面に戻ってしまう場合に下記のようにエラーが発生している場合がある。

gdm_slave_xioerror_handler : 致命的な X のエラー - :0 を再起動します。

以前にこの問題が発生した時に対応した内容を特に記述しておかなかったので、今回改めて検証を行いながら記述していきます。

以前の対応を思いだしながら検証を進めます。

  • /tmpの残容量がわずかになると発生するのか?
  • 約2GBのtmpのうち使用済みは600Mである。よって、この件は該当しない。
    しかし、念のためにtmpをクリアしておく。
           ↓ クリア後発生していないが、Firefoxはやはり、まめに落ちる。
とりあえず、これで様子を見る。
※しかし、Linux版のFirefoxが3.6.13になってからよく落ちて困る。orz(泣)

2010年12月22日水曜日

Firefox(3.6.x)のメモリ消費について

Firefoxがやけにメモリを消費するなと思っていたが、やはり他の人もいろいろ対応しているようです。 場合によっては、700MBくらい消費するケースもあるらしい。

タブの開きすぎかなと思い 全部閉じてみても意味なし。URLにabout:configと入力し、いろいろとチューニング。

browser.cache.offline.capacity=0 browser.cache.offline.enable=false browser.cache.memory.capacity=16384

Firefox(3.6.x)のメモリ消費について

Firefoxがやけにメモリを消費するなと思っていたが、やはり他の人もいろいろ対応しているようです。 場合によっては、700MBくらい消費するケースもあるらしい。

Firefoxについては、Windowsではメモリの消費が気になり、Linux(CentOS)ではやたらおちることが気になり(ほとんど迷惑)...

■メモリの消費について下記を試す

タブの開きすぎかなと思い 全部閉じてみても意味なし。URLにabout:configと入力し、いろいろとチューニング。

browser.cache.offline.capacity=0 browser.cache.offline.enable=false browser.cache.memory.capacity=16384

※経過および結果については、後日報告します。

2010年12月21日火曜日

CentOSでGnomeデスクトップがフリーズする件について

CentOS(5.5)で、Gnomeデスクトップがよくフリーズして困っていました。
フリーズする時は、いつもブラウザ(Firefox)を開いているので、Firefoxが問題を引き起こしているのでは思いググって下記の件について試してみた。

Firefox の検索バーで about:config を入力し、下記の設定を変更する。

dom.ipc.plugins.timeoutSec → 値を 45 から -1 にする

Firefoxを複数起動していたり、またはタブを複数表示していると Firefox がよく落ち、また時にはGnomeデスクトップも落ちログイン画面になったりし、最悪はフリーズする。

Firefoxを起動して、タブを2つ表示している状態で他には何もしない状態で放置しておいたらフリーズしているという現象が発生したのを気に対策の検討を開始した。

 フリーズはなくなったが、Firefoxの上記の設定を行ってから以前よりもFirefoxが落ちやすくなった。Gnomeデスクチップでブラウザを利用するが面倒になる...

2010年12月19日日曜日

MPlayer 音がでない

Linux MPlayerで音がでないのを放置しておいたが、解決に望みました。 通常はWindowsPCで音楽やらは聴くが、Linuxではサーバーとして利用がのためGnomeデスクトップでブラウザを起動して映像がでサイトやページでも音とは特に気にいた。(音を確認したい時は、Windowsマシンで聴いていた。

また、先日FireFoxやGnomeデスクトップがフリーズしまくっていた時にいろいろと試していたらMPLayerで映像が拡大縮小ができなくなってしまった。(ウィンドウを拡大しても映像の大きさがかわない) これのまま放置しておくのもあまりにも自分的にもマズイ(だらしない)と感じ早速ネットでググって変更を行う。(なかなか試行錯誤をしました…トホホ)

MPlayerの音がでない件についての対応
■そもそもサウンドカードを認識できてるのか
$ speaker-test
を実行して "no such device" と出るようなら認識できてない可能性大。 H/W が 対応しているか、ALSA のドライバがロードされているか再確認。
■audio グループに入っているか
$ id (ユーザー名)
入っていなければユーザを audio グループに入れて確認する。
(入っていない時は追加する)
# usermod -G audio ユーザー名
■MPlayerの設定情報の確認(Audioドライバの確認)
Audioドライバが正しく設定されているかを確認する。こちらの場合は、alsaが選択されているかを確認している。
■映像の拡大縮小(設定ファイル)
Videoドライバが正しく設定されているかを確認する。こちらの場合は、X11/Xvが選択されているかを確認している。

上記の設定を行い、無事に音声も映像の拡縮も行えるようになった。 めでたし、めでだし。(^o^)/

ラジオ(radiko)!

今年の夏からラジオを聴くようになりました。 中学・高校・大学と勉強の合間(休憩)によく深夜ラジオを聴いていましたが、その後ラジオを聴かなくなっていたので30年ぶりくらいになります。

iphoneでラジオを聴けること知り早速 radiko をダウンロードして聴いてみました。 早朝(6:00)にかけた文化放送の「ソコトコ」が妙に面白かったため、仕事の合間(休憩)に聴くようになりました。

休憩を兼ねてブログを書いている時や頭を使わずにできる作業(構成済みのドキュメットの作成)のときに下記の番組を聴いています。(意図的にこの時間帯にこのような作業をするようにしています。)

  • 文化放送「ソコトコ」6:00~8:30 (Mon-Fri)
  • 吉田照美と唐橋ユミさんのカラミ具合がとても面白い。

  • ニッポン放送「くり万太郎のオールナイトニッポンR」27:00~29:00 (Mon-Fri)
  • くり万太郎の落ちついた語り口がなんと言えない味がある。 早朝3時から仕事&趣味(勉強)を行うのが日課のため、合間の休憩時にコヒーを飲みながら聴くには最適です。

  • J-WAVEの「ROCKETMAN SHOW」 (Sat 25:00~29:00)
  • 今月何気なくJ-WAVEに合わせてみたら...
    なんか聴いたことのある声だなぁと思いながら聴いていたら、声は良いという訳(どちらかというとラジオではあまり良くないかも)ではないが語り口が心地よく聴き入りました。途中で「ふかわりょう」ということに気づきました。
     なんか芸人よりもずっと良いかも! と思った。

  • J-WAVEの「SUNDAY LIBRARY] (San 05:00~06:00)
  • こちらの番組は、「ROCKETMAN SHOW」から続けて聴いていたらなんか落ち着く声でアカデミックな内容をゲツトとともにナビゲーターのリアド慈英蘭さんのやさしい語り口でJ-WAVEらしく選曲も良くなんか引き込まれました。

2010年12月18日土曜日

WindowsXpがフリーズする

 ここ最近毎日のようにフリーズするようになった。
作業の佳境に入っているときにフリーズするので、主に昼前から午後に3時くらいによくフリーズするようになった。

 今までも、全くフリーズしなかった訳ではないがここ10日間くらいのように毎日ではなかったので特にきにならなかった。(もともと、いろいろなソフトを起動してメモリやディスクを圧迫気味なので)

 昨日も2ほどフリーズしたのを機会にシステムを復元(二週間前の状態)し、かつ画面のプロパティを下記の2点を変更してみました。
  1. 「ハードウェア アクセラレータ」が最大になっていたのを少し設定を落とす
  2. 「ライト コンバインを有効にする」のチェックをはずす
さて、これでどうなるか?
経過報告については、後日記載します。ハングよ消えよ!(^^)/

2010年12月17日金曜日

Oracle Text でハマッタ...

Oracle Text を利用して中間一致検索の高速化をはかろうしてハマッてしまった。
ます、DBのバージョンが 9i であったためデータを追加・更新・削除しても Oracle Text で作成した索引に即反映させることができない。(10g以降ならデータの追加・変更時に同期可能なのだが...)
↓↓↓↓↓
よって、DBMS_JOB で定期的に更新を行うことになる。
そこでハマッタ。(T_T)

Oracle Textの利用方法(手順)の説明も兼ねて設定方法から説明します。
  1. OracleTextを利用するユーザーを作成します。
  2. ユーザー作成方法はみなさんご存知のとおりです。
    CREATE USER myuser IDENTIFIED BY myuser_password;
  3. 利用するユーザーに権限を与えます。
    (ユーザーにロールを付与します。)
    GRANT RESOURCE, CONNECT, CTXAPP TO MYUSER;
    (CTX PL/SQLパッケージでのEXECUTE権限の付与)
    すべてのOracle Textパッケージの実行権限を付与する場合。
    GRANT EXECUTE ON CTXSYS.CTX_CLS TO myuser;
    GRANT EXECUTE ON CTXSYS.CTX_DDL TO myuser;
    GRANT EXECUTE ON CTXSYS.CTX_DOC TO myuser;
    GRANT EXECUTE ON CTXSYS.CTX_OUTPUT TO myuser;
    GRANT EXECUTE ON CTXSYS.CTX_QUERY TO myuser;
    GRANT EXECUTE ON CTXSYS.CTX_REPORT TO myuser;
    GRANT EXECUTE ON CTXSYS.CTX_THES TO myuser;
    GRANT EXECUTE ON CTXSYS.CTX_ULEXER TO myuser;
  4. プリファレンス(全文検索対象のデータがどんなものかを示す指定)を作成します。
  5. connect <ユーザ名>/<パスワード>

    begin
    ctx_ddl.create_preference('<プリファレンス名>',
                                     'JAPANESE_VGRAM_LEXER');
    end;
    /
  6. 全文検索用の索引を作成します。
  7. CREATE INDEX <索引名> ON <表名> ( <項目名> )
          INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS ('LEXER <プリファレンス名>')
    /
  8. 索引の手動更新
  9. Oracle Text索引は、情報が挿入または更新されるたびに動的に更新されません。  Oracle Textのストアド・プロシージャであるctx_ddl.sync_indexを使用して、索引を定期的にリフレッシュ(同期化)する必要があります。

    BEGIN
    -- 引数にINDEX名を指定
    CTX_DDL.SYNC_INDEX('<索引名>');
    END;
    /

    しかし、上記だといちいち自分で実行して更新しなければならない。
  10. そこでDBMS_JOBで定期実行して索引をリフレッシュ(同期化)する。・・・ここでハマる。
  11. //■DBM_JOB
    VARIABLE jobno NUMBER;
    BEGIN
    DBMS_JOB.SUBMIT(:jobno
         , 'BEGIN CTX_DDL.SYNC_INDEX(''<索引名>''); END;'
         , SYSDATE, 'SYSDATE+10/1440');
         COMMIT;
    END;
    /

    上記で問題(エラー発生)もなく DBMS_JOB に登録できた。
    しかし、ジョブの実行時間後に内容を確認しても追加・変更されたデータが反映されていない。

    下記のように索引で保留中の内容を確認すると更新されてないことを確認。
    SELECT pnd_index_name,
     pnd_rowid,
     to_char(pnd_timestamp, 'dd-mon-yyyy hh24:mi:ss') timestamp  FROM ctx_user_pending;


    更新されないので、手動でジョブを実行するとエラーになる。
    begin    dbms_job.run(<ジョブ番号>);    end;
    *
    行1でエラーが発生しまた.
    ORA-12011:1ジョブの実行に失敗しました
    ORA-06512:"SYS.DBMS_IJOB" . 行406
    ORA-06512:"SYS.DBMS_JOB" . 行272
    ORA-06512:行1

    アラートを調べ、トレースファイルを参照してググッてみたがなかなか解決策が見つからなかった、
  12. 解決策を見つけてみると...
  13. なんと、何度か試行錯誤した中にあったのは?と思う内容であった。わずかにどこか違っていたようだ。

    解答はこれダ!

    define idxname = "<索引名>"
    define interval = "10"

    set serveroutput on
    declare
        job number;
    begin
        dbms_job.submit(job, 'ctx_ddl.sync_index(''&idxname'');',
        interval=>'SYSDATE+&interval/1440');

        dbms_output.put_line('job '||job||' has been submitted.');
    end;
    /
毎度のことながら、些細な事でかなりの時間(今回は丸一日)を費やしてしまうものだ。 やはり、知識は正確により多く貯える必要がある。(泣)

2010年12月5日日曜日

「イノベーションと企業家精神」

今週末もドラッカーの「イノベーションと企業家精神」を読んだ。 先々週読んだ「プロフェッショナルの条件―いかに成果をあげ、成長するか (はじめて読むドラッカー (自己実現編))」が、マネジメントやこの本(イノベーション)などを抜粋したような内容であったので、かなり重複している部分はあったが改めてドラッカーの過去の分析・現実を見る目と未来への予測のすばらしさを実感した。

人によって作られたものは、永遠に続くことはない。人によって作られたものは、いすれ歳をとり陳腐化しているくので再構築が必要になる。 これは、あらゆる事業(営利・公共など)に当てはまり、また人にも当てはまる。

下記の内容が書かれています。
  • イノベーション
  • イノベーションの機会を、どこでいかに見出すべきかを提示している。また、現実の事業として発展させていく際に「行うべきこと」と「行ってはならないこと」について述べています。

  • 企業家精神
  • 企業家精神を発揮するには、いかに人を組織し、配置するべきか、その場合の障害、陥穽(かんせい:落とし穴・わな)、誤解は何か?  企業かの役割と意思決定について。

  • 企業戦略
  • 現実の市場においていかにイノベーションを成功させるか!

皆さんも是非ご一読を!

「イノベーションと企業家精神」(ドラッカー)

先週から引き続きドラッカーを読む。
 イノベーションについて重要性と原理・原則について説かれており、いつ・どこで・何に指定をおき・どのように行動すべきで、また行動すべきでないことはどのような内容か等が具体例を用いながら説明されている。

 ドラッカーが提示している内容は、私企業だけではなく、あらゆる組織について共通する原則を提示している。

イノベーションは機会であり、機会が発生するタイミングをいかに逃さないか、またイノベーションの機会は求めるだけではなく自身から起こさなければ事業や貢献の機会は失われてゆく。

そのまま当てはまる訳ではないが、相田みつをの言葉を思いだしました。
『とにかく具体的に動いてごらん具体的に動けば 具体的な答が出るから』
なんか通じるところがあるなあ...

「イノベーションと企業家精神」