|
全て
| カテゴリ未分類
| KNOPPIX
| Linux全般
| KNOPPIX BBS
| 源氏物語
| Windowsでサーバの実験
テーマ:KNOPPIXについて(45)
カテゴリ: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転送で遅くなる理由は、 などです。 なぜ、エラーになるのか、不思議に思い、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」で起動できていたのに、なぜ、起動できなくなってしまったのだろう)
なお、転送モードと-Xパラメータの指定値の関係は下表のようです。
過去のKNOPPIX関連日記一覧はこちら KNOPPIX実験室 お気に入りの記事を「いいね!」で応援しよう
[KNOPPIX BBS] カテゴリの最新記事
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秒)
けちょさん、こんばんは。
>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秒)
似たような経験の日記は、これから書くので、少し時間をください。その前に、以下のことを試していただけますか。
(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秒)
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秒)
けちょさん、こんばんは。
>>(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秒)
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秒) |
|