2008/09/11(Thu)DPC Latency Checker ひどい有様

2008/09/11 19:49 Software::Windows
ASUSブランドのPxBシリーズ*1にはよくお世話になっている私だが、最近P4B266-Eのシステムが調子が悪い。
スペック: P4B266-E, Pen4 1.8AGHz(Northwood), Mem 768MB, HGST 300GB, Winfast TDH 200

*1 : P3B-F, P4B266-E, P5B Deluxe/WiFiAPと…

DPC Latency Checker

まあディスクに対して非常に負荷のかかる使い方をしているので、I/O待ちとかでマウスカーソルがカクカク止まったり、音楽を再生しても飛んだりノイズが乗るのかと思っていたが、某氏に教えていただいたDPC Latency Checkerというのを使って割り込み遅延をみると、ひどい有様。

▼通常のWebブラウズ、フォルダ閲覧程度の負荷
dpclc1.png


▼同時にいくつもファイルコピーなど負荷をかけた状態
dpclc2.png



多分、2chの【大丈夫?】DPC LATENCY CHECKER【レイテンシ】というスレでもここまでひどい人は居ないんじゃないかな…と某氏と話していたが…。


原因究明のため、色々調べてみた。
まず、カーソルがカクカクして、数十秒に一回、2~3秒カクカクする現象が起こるのは、「1つあたりが比較的大容量の数メガ以上ファイルをコピーしたりするとき」ということが分かった。小さなファイルをたくさんコピーするときや、フォルダを開くだけでは全く問題がない。ディスクキャッシュ絡み???
同様に、ネットワーク越しにアクセスしたとき・された時にも重くなる。

イベントビューワを開いてみると、何やらdiskエントリで怪しいものが……。

eventviewer-diskerror.png

diskerror.png



ファイルコピーの度に出てるわけではなさそうだが、これはまずい。
と思って、とりあえず全てのドライブに対して、chkdsk /f X:をかけた。すべて問題なし。あれ??
ちなみにシステムは、Windows XP SP3。比較的OSがすっからかんの状態でSP3をインストールしたので、あんまりこれによる影響とは考えられない。


とりあえずファイルコピーが重いというのは致命的だが、幸いTrueImageなどのバックアップがあったので、大部分はそれに頼ることにして、必要なものだけ退避させてシステムを入れなおし。

ようこそでフリーズ

P4B266-Eには、ディスク系のPCIカードを2枚突っ込んでいて、一つは玄人志向 SAPARAID-PCI*2, もう一つはITE IT8212というATAカード*3。システムディスクは、SAPARAID-PCIに接続したS-ATAディスクから起動している。

SP2と様々な更新を統合したインストールCDからセットアップして、ユーザー名を決めた後、ようこそ画面が出る所でフリーズ。

これは、ITE IT8212がドライバ未組み込みの状態だったのが原因かな?
一時的にボードを取り外してやったら、すんなり起動して、引き続きKBパッチの適用へと進んでいった。

*2 : S-ATAが2台、P-ATAが2台x1チャンネル接続可能

*3 : P-ATAが2台x2チャンネル接続可能

そういえばネットワークカード

時系列順にだらだら書いていて申し訳ないが、P4B266-Eのネットワークカードのドライバをインストールする際、前回のシステムではASUSのIntel(R) PRO/100+ Lan Adapter Driver & Utility V5.1を使おうとしたのだが、自動的に検索させてもうまく認識しないので、IntelサイトのPRO2KXP.exe*4を使ったっけ。
そもそもこのカードが、Intel PRO/100の何シリーズなのかよく分からず、別ドライバを突っ込んでしまってたのかなあ?

ASUSのサイトに合った82562_51.zipの中身のoemsetup.infを手動で指定してやって、PRO/100 Desktop Adapterを選択してやると、これでもちゃんと認識して繋がる。

そういえば、と思って、製品添付のCDから\Drivers\Lan\Intel\Info\Drivers.htmに書かれているとおり、ドライバフォルダを指定して自動選択させてやると、PRO/100 VE Desktop Adapterとして認識した。あれ?これが正しいの?無論繋がるけど。うーん……。

*4 : セットアップVer4.0.100.1124, CRC32=BAAB738B, どこのページからDLしたか忘れた

改めてDPC Latency Checker

再インストール後はこんな感じに。時折赤くなるけど、マウスが飛ぶほどのことはなくなった。
こりゃもしかして、SAPARAID-PCIのせいかなぁ?流石にこいつは無効にできないので、もう我慢するしかないか。

dpclc3.png

あれまたおかしい

また不定期にマウスカーソルや画面描画が止まる現象に悩まされるようになった。クリーンインストールでこれぇ?
あ、そういや、さっきIT8212経由で接続したHDDがカッタンカッタンスピンアップに失敗するような変な音立ててるし!さっきはこんな音してなかったのに……。
イベントビューワの警告は本当だったんだ…。chkdskで何で問題が出なかったんだろう。気まぐれ?

ようやく元通り?

とりあえず死んだHDDを外してやったら安定したので、再セットアップする前のOSにTrueImageで復元。
1時間ほど放置しておくだけでまるまる戻ってラッキー♪

DPC Latencyは相変わらずたまに赤いバーが出てきて、その時何か音楽や映像を流してると音飛びするけど、もうこりゃどうにも直らんでしょ。
バックエンドサーバーだし、期待しないでおこう。

2008/09/09(Tue)BSOD中間まとめ

2008/09/09 19:58 Software::Windows
Windows XP x64システムを数か月使ってみたが、たまにBSODが起こる。
これが何の原因かなぁということで、x64用βドライバを使ってる音源ボード*1の線や、各種ドライバなんかを見てみたのだが、原因はPFW兼ウイルス対策ソフトのKasperskyじゃなかろうかという線が出てきた。

今日、LAN上の別PC(Windows XP x86 + Virus Buster 2008)からWindowsファイル共有を使って数百メガのデータを送ろうとしたり、SleipnirでそのPCにダウンロードファイルを保存しようとしたりした際、BSOD 0x35 NO_MORE_IRP_STACK_LOCATIONSが発生した。

過去、BSODの種類別発生回数。
  • 0x3b - SYSTEM_SERVICE_EXCEPTION (7 times)
  • 0x35 - NO_MORE_IRP_STACK_LOCATIONS (5 times)
  • 0x24 - NTFS_FILE_SYSTEM (2 time)
  • 0x1a - MEMORY_MANAGEMENT (1 time)
  • 0x7f - UNEXPECTED_KERNEL_MODE_TRAP (1 time)

詳しく調べてみると、KIS 2009 Vista x64 Ultimate BSoD - Kaspersky Lab Forumがひっかかった。
他にも、BSOD Ultimate x64 - Tech Support Forumという記事も。
今までに起こったBSODの種類が、2番目の記事に出てきたコードとよく似ている。
for the 3b error reinstall your video drivers
今もう最新版だけど……。

私のMBはASUSのP5B Deluxe/WiFiAPだが、これと似たP5Qでも似たような現象が起こってる人がいる模様で、その人はメモリが原因だったらしい。
うーん、memtestするっていっても、6GBも何回も回すだけ使わない時間帯ないしなぁ。

引き続き調査中。

*1 : Creative Sound Blaster Live! Platinum 5.1という古いやつ

2008/08/30(Sat)SeaTools

2008/08/30 20:15 Software::Linux
Seagate製のハードディスクの情報を見るSeaToolsというソフトがあるが、
そのLinux版の扱い方メモ。

ここからダウンロード可能。ページ下部の"Linux コマンドライン版"を選択。
seatools_cli.tarがダウンロードされる。
# tar xvf seatools_cli.tar
# ./st -l

Drive information:

/dev/sg0 ATA      ST380021A        3.05 156301487 blocks

# ./st -i /dev/sg0
        /dev/sg0
        Vendor = ATA
        Product = ST380021A
        Version = 3.05
        Serial Number =
        Copyright =
        SCSI Firmware = t
        Servo RAM Release = 9
        Servo ROM Release = !5v
        Servo RAM Date = �
        Servo ROM Date = E

        Blocksize = 512, Highblock = 156301487, Capacity = 78151 MB
        -this is a Seagate drive
        -this drive does not support DST
        -Mode Page Settings [current value (default)]:
                -WCE bit = 1 (0)
                -RCD bit = 0 (0)
                -AWRE bit = 1 (0)
                -ARRE bit = 0 (0)
                -DExcpt bit = 0 (0)
                -Number of cache segments = 0 (0)
システムからは/dev/sdaとして見えているが、SeaToolsに渡す引数は/dev/sg0のようなデバイスなのでそこを注意。

ちなみにこのツールは以下のようなオプションがあるらしい。
サーバーとして動作中なのでファーム書き換え等は出来ないが、トラブルが起こった時には試してみようかな。
Usage: SeaTools Enterprise [-option][variable][device]
        Allowed options are:
        -l  list all attached SCSI disks
        -i  display drive Inquiry information
        -I  display drive Inquiry information for all SCSI devices
        -t ###  execute ###% (10% - 100%) short Drive Self Test (DST)
                ex: st -t 10 /dev/sga   execute 10 % of the short Drive Self Test (DST)
        -T ###  execute ###% (10% - 100%) long Drive Self Test (DST)
                ex: st -T 20 /dev/sga   execute 20 % of the long Drive Self Test (DST)
        -s  stop Drive Self Test (DST)
        -g ### execute ###% (1-% - 100%) generic short test for legacy & non-Seagate drives
                ex: st -g 10 /dev/sga    execute 10 % of the short legacy test
        -G  generic long test (sequential verify test of entire drive)
        -r  generate Seagate RMA form
        -v  show Seatools version and licence agreement


example: ./st -i /dev/sga  displays inquiry for /dev/sga

Advanced options (some cause data loss):

        -Marg Drive Preferences (mode page) change
         Note: Use -i INQUIRY option to display the supported & current settings.

                Performance Mode (PM)
                        -Mpmon/off desktop/server PM bit
                Write Cache Enable (WCE)
                        -Mwceon/off  set/clear WCE bit
                Read Cache Disable (RCD)
                        -Mrcdon/off  set/clear RCD bit
                Just In Time (JIT)
                        -Mjitdefault set all JIT bits, factory default
                        -Mjit1on set only JIT bit 1, clears any others
                        -Mjit2on set only JIT bit 2, clears any others
                Automatic Write Rallocation Enable (AWRE)
                        -Mawreon/off  enable/disable AWRE bit
                Automatic Read Rallocation Enable (ARRE)
                        -Marreon/off  enable/disable ARRE bit
                Disable Exception Control (DExcpt, SMART logging)
                        -Mdexon/off  disable/enable DExcpt bit
                Disable Loop Master (DLM, fibre channel only)
                        -Mdlmon/off  disable/enable DLM bit
                Disable Target Oriented Loop Initialization  (DTOLI, fibre channel only)
                        -Mdtolion/off  disable/enable DTOLI bit
                Number of Cache Segments
                        -Mcache#  set # cache segments
                ex: -Mcache8 set # of cache segments to 8
        -F  default low-level scsi format

        Usage: [-option] [variable] [device]
        -d file  firmware download
                ex: st -d fwfile /dev/sga  download firmware file fwfile into /dev/sga
        -C ### capacity change
                ex: -C 1234567890 set high blocks to 1234567890 (zero based)
                ex: -C max change capacity to factory maximum
        -B ### sector size change followed by a format
                ex: -B 1024 change to 1024 bytes/sector
ついでにUDMA5(ATA100)で動作中のこいつのベンチマーク。
# hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   288 MB in  2.02 seconds = 142.85 MB/sec
 Timing buffered disk reads:  102 MB in  3.02 seconds =  33.76 MB/sec

2008/08/30(Sat)Plagger on Fedora 8

2008/08/30 15:13 Software::Linux
CPANでがんばっていたのだが、全然前に進まないので、yumのリポジトリを探した所、Fedora7までしかなかったのだが、無理やりFedora8にインストールしてみた。

まず、repoファイルをwget……してもいいのだが、rpmがあるのでこれを利用
$ wget http://pub.woremacx.com/worepo/deprecated/worepo-release-7.rpm
# sudo rpm -ivh worepo-release-7.rpm
# ls /etc/yum.repos.d/wo.repo
/etc/yum.repos.d/wo.repo
wo.repo内のアドレスが変わっているようなので、修正。
# vi /etc/yum.repos.d/wo.repo
 - baseurl=http://pub.woremacx.com/worepo/fedora7/i386
 + baseurl=http://pub.woremacx.com/worepo/deprecated/fedora7/i386
で、
# yum install perl-Plagger
....

Transaction Summary
======================================================
Install      314 Package(s)
Update         2 Package(s)
Remove         0 Package(s)

Total download size:  45 M
Is this ok [y/N]: y

...

Complete!
という感じで物凄いインストール。
仮にcpanで同じインストールをするとして、314パッケージもmakeの面倒見るなんて御免だ。パッケージに頼るに限る。


で、無事動いてます。

2008/08/30(Sat)CPANをサクサク動くように

2008/08/30 3:50 Software::Linux
Fedora8をVMにインストールして、ちょっと実験しようと思い、一通りyumをかけ、
さて、PerlModuleを入れるためcpanを…とやってると、どうもトロい。Fetching...とかで数十秒近く待たされた挙句FTPセッションを張るのに失敗。

どうやらftp.perl.orgが忙しいようなので、ミラーサーバーに切り替えてみる。
/usr/lib/perl5/5.8.8/CPAN/Config.pmに対して、以下のようなURLListを設定。
$CPAN::Config = {
  'urllist' => [q[ftp://ftp.kddilabs.jp/CPAN/]],
};
うむ。速くなった。

cpan中 2008/08/30

やっぱCPANだめだ、コケすぎ。
依存関係の解消ということで、ひたすらEnter連打待ちなのも如何なものか。
そしてmakeに失敗するんですよね、わかります。
→結局3万2千行も標準出力に吐いといて、最終的に失敗。

あーもう、yumが便利すぎる。
でも、ニッチな物は標準のリポジトリに追加されてないんだよなぁ……。
リポジトリを追加する方向で考えよう。