[Q/A] FAT32インストールしても動作が遅い
「KNOPPIXについて(48)」
|
[ 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実験室
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秒)