mywkfmnrのホームページ

フリーページ

お気に入りブログ

源氏物語の世界 jooxさん
一日一冊:読書日記… 本のソムリエさん
CPUを作ろう ~計算… CPU4Eduさん
2004年09月26日
XML
カテゴリ:KNOPPIX BBS
けちょさんから「CD無しで起動できるようになったものの,その動作があまりに遅く,たとえばターミナルだけを呼び出しても,立ち上げ完了するまで1分ほどかかってしまいます」というご質問を受け付けました。
このページは、この質問で始まるスレッドに固定します。


私も、似たような現象を経験したことがあります。

仕事でLive Linux2やRed Hat Linux 7.3を使っていた頃のことなのですが、普段、Celeron 400MHzの実験機に接続して使っていたHDDを、新しいCeleron 1.3GHzのマシンにつないだ時のことでした。
Windowsからは問題なく、そのHDDにアクセスできるのですが、Linuxだと、アクセスが極端に遅くなるのです。
dmesg(カーネルのメッセージログを表示するコマンド。ここでは、それを実行して表示された内容)を読んでみると、入出力アクション(たぶんDMA)の完了を知らせる割り込みが捕捉出来なかった旨のエラーメッセージが何回か出た後、DMAをdisableされていました。時間がかかっていたのは、disableされるまでのリトライに時間がかかっていたことと、disable後はPIO転送になるため、遅かったのです。

PIO転送で遅くなる理由は、
  • 転送速度が最大16MB/秒になる。このHDDはATA-66をサポートしていたため、DMA転送なら最大64MB/秒になる。

  • 連続したブロックへのアクセスでも、転送速度がディスク回転速度に追い着かないと、1回転の回転待ちが入る。

  • 入出力処理中はCPUが占有される。CPU利用率低下。

  • などです。

    なぜ、エラーになるのか、不思議に思い、hdparmコマンドを実行してみると、UDMA5の転送モードが使用されていることが分かりました。UDMA5はATA-100の転送モードなのですが、このHDDはATA-66のHDDでした。原因はhdparm -iコマンドの表示を見て分かったのですが、HDDがUDMA5をサポートしているような応答を返すのです。確かUMDA4に「*」が付いていてUMDA4(ATA-66)推奨になっていたと思うのですが(うろおぼえ)、Linuxは最高性能になるはずのUDMA5を使ってエラーになっていたのです。たぶん、Windowsは最初からUDMA4を使っていたから問題なくアクセスできていたのだと思います。

    Linuxではhdparmコマンドを使ってHDDアクセス方法をきめ細かく指定できるので、ブート時に「hdparm -d1 -X68 /dev/hdc」コマンドを実行してUDMA4を使うように設定したところ、問題なくアクセスできるようになりました。

    Celeron 400MHzのマシンで問題なかったのは、そのマシンのIDEインタフェースがUDMA2までしか知らなかったからなのですね。UDMA2もATA-66の転送モードの一つなので、それで問題なくアクセスできていたのでした。

    このときは仕事だったため、問題のHDDと問題のパソコンは同型のものを数台ずつ持っていたのですが、どれも同じ現象でした。


    今回の件も、IDE HDDのDMA転送がらみの問題である可能性が高いと思うので、以下のことを試してみてはいかがでしょうか。

    (1)「hdparm -d1 -X62」コマンドなどで色々な転送モードを設定し、「hdparm -t」コマンドでベンチマークして、一番速くアクセスできるモードを探す。
    (2)ブートオプションに「nodma」を指定して、DMA転送を使用せずにKNOPPIXを起動する。
    (3)「KNOPPIXの設定を保存」で作られるknoppix.shに、(1)で見つけたモードに設定するhdparmコマンドを追加する。

    もし、DMA転送の問題なら、この方法で対策できると思います。
    幸運を祈ります。


    参考のために、私のマシンで測定した結果を下表に載せます。
    といっても、私のメインマシンは調子悪くて、KNOPPIXも立ち上がらなくなってしまったので、古いノートパソコンで測定しました。
    富士通 FMV-BIBLO NU15というもので、MMX Pentium 150MHzのマシンです。メモリは96MBに増設、HDDは5GBの比較的新しいものに交換してあります。このため、HDDはudma5(ATA-100)までサポートしていますが、IDEインタフェースが古いのでudma3/4/5は使えず、デフォルトのdmaモードはmdma2になっていました。つまり、デフォルトではudma(Ultra DMA)は使ってくれないようです。hdparmで指定すれば、udma2まで使えそうです。
    ただし、このマシン、KNOPPIX 3.4/3.6ではX Windowが起動しなくなってしまったようなので、「knoppix-txt 2」でCDブートして測定しました。(KNOPPIX 3.1/3.2の頃は、「knoppix-txt screen=800x600」で起動できていたのに、なぜ、起動できなくなってしまったのだろう)

    アクセスモード
    hdparmコマンド
    転送速度
    pio4(16bitアクセス)
    hdparm -c0 -d0 -X12
    5.06MB/秒
    pio4(32bitアクセス)
    hdparm -c1 -d0 -X12
    8.55MB/秒
    mdma2
    hdparm -d1 -X34
    13.29MB/秒
    udma2
    hdparm -d1 -X66
    16.77MB/秒


    なお、転送モードと-Xパラメータの指定値の関係は下表のようです。
    転送モード
    hdparmコマンド
    pio0~4(16bitアクセス)
    hdparm -c0 -d0 -X8~12
    pio0~4(32bitアクセス)
    hdparm -c1 -d0 -X8~12
    mdma0~2
    hdparm -d1 -X32~34
    udma0~5
    hdparm -d1 -X64~69




    過去のKNOPPIX関連日記一覧はこちら

    KNOPPIX実験室








    最終更新日  2004年10月07日 22時44分38秒
    コメント(6) | コメントを書く
    [KNOPPIX BBS] カテゴリの最新記事


    ■コメント

    お名前
    タイトル
    メッセージ
    画像認証
    別の画像を表示
    上の画像で表示されている数字を入力して下さい。


    利用規約に同意してコメントを
    ※コメントに関するよくある質問は、こちらをご確認ください。


     FAT32インストール後の動作について   けちょ さん
    KNOPPIX実験室を参考にして自宅のノートパソコンにインストールしてみました。
    ご相談したいことは,インストール後の動作についてです。CD無しで起動できるようになったものの,その動作があまりに遅く,たとえばターミナルだけを呼び出しても,立ち上げ完了するまで1分ほどかかってしまいますし,OpenOfficeは5分ほどかけても立ち上げ完了せず,途中で止まってしまう始末です。
    しかしながら,同じパーティションにFedoracore1をインストールするとサクサク動いてくれます。
    古い機種なので,動作を早くすることは無理なのでしょうか。メモリ増設で早くなるのでしょうか。
    もしできるようならば,その方法を教えていただきたいのです。
    ご教授よろしくお願いします。
    _____
    使用PCのシステム情報
    LaVieNX(LW30H/63C6)
    OS:Windows98SE
    GenuineIntel Intel(r) Celeron(tm) Processor300MHz
    127MB RAM
    Windows管理スワップファイル-ドライブC(3674MB空き)
    ドライブC(Win)の空き容量:4860MBの3674MB(FAT32)
    ドライブD(KNOPPIX)の空き容量:4708MBの4035MB(FAT32) (2004年10月06日 20時48分54秒)

     Re:FAT32インストール後の動作について(09/26)   mywkfmnr さん
    けちょさん、こんばんは。
    >KNOPPIX実験室を参考にして自宅のノートパソコンにインストールしてみました。
    試していただき、ありがとうございます。
    まだ、お役には立てていないようですが、それを、このように問い合わせていただき、大変うれしいです。
    >ご相談したいことは,インストール後の動作についてです。CD無しで起動できるようになったものの,その動作があまりに遅く,たとえばターミナルだけを呼び出しても,立ち上げ完了するまで1分ほどかかってしまいますし,OpenOfficeは5分ほどかけても立ち上げ完了せず,途中で止まってしまう始末です。
    私も、Live Linux2を使っていた頃に似たような経験をしたことがあります。少々長くなるので、日記のほうで、それを紹介します。参考になるでしょうか。
    >しかしながら,同じパーティションにFedoracore1をインストールするとサクサク動いてくれます。
    これが分からないですね。私の経験したものはカーネルの問題だったので、どのLinuxでも共通に発生するはずです。実際、Live Linux2とRed Hat 7.3で同じ問題が発生していました。KNOPPIXでは試していませんが、たぶん、同じ問題が発生するはずです。
    >古い機種なので,動作を早くすることは無理なのでしょうか。メモリ増設で早くなるのでしょうか。
    メモリを増設すれば早くなることは確かですが、私が使ったceleron 400MHz程度のマシンでも、メモリは128MBもあれば、Konsole位はストレス無く使えたので、この状況は異常だと思います。
    (2004年10月07日 23時13分46秒)

     Re[1]:FAT32インストール後の動作について(09/26)   mywkfmnr さん
    似たような経験の日記は、これから書くので、少し時間をください。その前に、以下のことを試していただけますか。

    (1)ブートオプションで「nodma」を指定するとどうなりますか。普通遅くなるのですが、速くなるようなら、私の経験と同じ可能性大です。
    (2)konsoleでdmesgコマンドを実行してカーネルのメッセージを表示してみてください。IRQを見失った旨などのディスク入出力障害と思えるエラーメッセージが出ていませんか。
    (3)もし、(1)(2)に該当するようなら、2004年08月22日の日記「QTPartedが起動しません」のコメントの「Re7」で説明したhdparmコマンドを試してみてください。ちなみに、この「Re7」で「以前、あるHDDはATA-100だとハングするけど、ATA-66だとハングしないHDDがありました。」と言っていることが、今回、似たような経験といっていることです。

    あと、KNOPPIXのバージョン日付と使用カーネルのバージョンを教えてください。
    (2004年10月07日 23時50分09秒)

     Re[2]:FAT32インストール後の動作について(09/26)   けちょ さん
    mywkfmnrさん
    迅速なアドバイスありがとうございます。返事が遅れてしまって申し訳ありません。
    使用バージョンは、Knoppix3.6日本語版で、カーネル2.4.27で使用しています。
    日付けは、20040816-20040914です。

    >(1)ブートオプションで「nodma」を指定するとどうなりますか。
    これは、menu.lst内の「dma」を「nodma」に書き換えればよろしいのでしょうか?もしそうであるなら、実行してみた結果、気持ち速くなったような気がします。激的には変化しないですよね。
    >(2)konsoleでdmesgコマンドを実行してカーネルのメッセージを表示してみてください。
    エラーメッセージですが、知識に乏しく、エラーが出ているのかよく分かりませんでした。コンソールに表示されるメッセージを全文コピーしてテキストにしようとしたのですが、emacsやOpenOfficeなどのエディタを立ち上げることがままならず(起動の途中で止まってしまう)、断念しました。
    >(3)もし、(1) (2)に該当するようなら、hdparmコマンドを試してみてください。
    hdparmコマンド、試しました。これは、
    # hdparm -dl -X6○ /dev/hda
    # hdparm -t /dev/hda
    と入力し、その後表示される速度を読み取ればいいのですか?以下は各モードで1回ずつ行った結果です。
    -X65 … 2.08MB/sec
    -X66 … 1.95MB/sec
    -X67 … 2.97MB/sec
    -X68 … 1.69MB/sec
    -X69 … 2.91MB/sec
    この場合、X67が適切ということになるのでしょうか。 (2004年10月11日 04時33分19秒)

     Re[3]:FAT32インストール後の動作について(09/26)   mywkfmnr さん
    けちょさん、こんばんは。

    >>(1)ブートオプションで「nodma」を指定するとどうなりますか。
    >これは、menu.lst内の「dma」を「nodma」に書き換えればよろしいのでしょうか?もしそうであるなら、実行してみた結果、気持ち速くなったような気がします。激的には変化しないですよね。

    DMAが聞いていたなら、劇的に遅くなるはずなのですが、そうならなかったというのは、DMAが効いていなかったのでしょうね。

    ># hdparm -dl -X6○ /dev/hda
    「-dl」ではなくて、「-d1」なのですが(エルかイチかの違い)、そこは大丈夫ですね。

    >-X65 … 2.08MB/sec
    >-X66 … 1.95MB/sec
    >-X67 … 2.97MB/sec
    >-X68 … 1.69MB/sec
    >-X69 … 2.91MB/sec

    確かに遅いですね。PIOとしても遅すぎる。
    ちなみに私のマシンでの測定結果を日記のほうに載せておきます。

    dmesgの出力は、以下のコマンドを実行すると、FAT32パーティションに書き込まれるので、これを、Windowsで読み込んではいかがですか。

    $ sudo -s
    # dmesg >/cdrom/dmesg.out 2>&1

    あと、

    # hdparm -i /dev/hda >/cdrom/hdparm.out 2>&1

    の出力も教えてください。 (2004年10月12日 01時37分01秒)

     Re[4]:FAT32インストール後の動作について(09/26)   けちょ さん
    mywkfmnrさん、こんばんは。

    >「-dl」ではなくて、「-d1」なのですが(エルかイチかの違い)、そこは大丈夫ですね。
    …「エル」でした。「壱」で再度行いました。
    ブートオプションを「nodma」にして起動し,「転送モードと-Xパラメータの指定値の関係表」をもとに測定しました。

    pio 16bit
    0 2.31MB/sec
    1 2.67MB/sec
    2 3.04MB/sec
    3 3.36MB/sec
    4 3.14MB/sec

    pio 32bit
    0 3.32MB/sec
    1 3.17MB/sec
    2 3.22MB/sec
    3 3.24MB/sec
    4 3.24MB/sec

    mdma
    0 3.18MB/sec
    1 2.86MB/sec
    2 3.32MB/sec

    udma
    0 2.91MB/sec
    1 2.92MB/sec
    2 2.99MB/sec
    3 3.27MB/sec
    4 3.32MB/sec
    5 3.31MB/sec

    >dmesgの出力 について
    >$ sudo -s
    ># dmesg >/cdrom/dmesg.out 2>&1

    >あと、

    ># hdparm -i /dev/hda >/cdrom/hdparm.out 2>&1

    >の出力も教えてください。
    コマンド実行しました。Winから見る事ができました。
    メッセージ量が多いと思いましたので,メールでお知らせ致します。
    よろしくお願いします。

    (2004年10月12日 20時46分01秒)

    PR

    X

    © Rakuten Group, Inc.