[ カテゴリー » PC関連 ]

PCサーバのヒートシンクが外れていた

blog20101205-PCServer_HeatSinkBroken1

先日PCサーバーがIOエラーを出してなんとなく嫌な予感。とりあえず再起動をかけたところ、普段なら10秒程度で静かになる排気ファンが何時まで経ってもフル回転で、さらに嫌な予感。

もう一度再起動してBIOSに入ってみるとファンの回転数が1100RPMにぴったりと張り付いているけど、音からして絶対そんな低速じゃない。どうもマシンが実際には上がっているファンの回転数を正しく把握しておらず、最高回転数まで行ってしまっているみたい。

またケミコンとんじゃった(今までPCサーバでは経験なし)のだろうかと思いつつサーバの中を覗いてみたところ…おい…ノースブリッジのヒートシンクが外れてる。シンクを抑えるバネを引っ掛けるパーツが基板から外れてしまった模様。

パーツはケースの底の方から発見。付けていたハンダが割れちゃったようだ。もう一度ハンダ付けするしかないなと、基板をケースから外しにかかる。CPUのヒートシンクを留めるネジがマザーボードを貫通して本体ケースのネジ穴で固定されているのはさすがにPCサーバ(CPUヒートシンクは重いのでマザーボードに留めるとボードが反ったりハンダが割れたりする)。ノースブリッジがお粗末なのは残念。

blog20101205-PCServer_HeatSinkBroken2
熱伝導樹脂がチップの右側にしか付着していない
最後にノースブリッジのヒートシンクを取り外したところ…
をい
冷却すべきチップの1/3くらいしかヒートシンクと接触してないぞ。こんなのでも何年も動くものなのね。昔CPUのヒートスプレッダを外した人が中の伝熱性樹脂が泡だらけでちゃんと接触していたか疑問と書いていたけど、そのCPUは動いていたわけで、世の中に出回っている半導体製品はいろんなところで余裕を持った設計になってそうだ。

取れたパーツをしっかりハンダ付け。ノースブリッジのシリコングリスも塗りなおして修理完了。再起動したらファンの回転数も正しく把握するようになっていた。壊れたと思っていたので今後は常時フル回転を覚悟していた私には良いお話。Memtest86+Link も20時間エラー無しだったので、運用再開っと。

でも、今となってはNECの16800円サーバにも圧倒的に負けちゃうCPUパワーなんだよなぁ。直さず壊れましたって報告して買い直せばよかったか? いや、セットアップするの面倒だからこれでいいやw


— posted by mu at 10:51 pm   commentComment [2]  pingTrackBack [0]

Grubからmemtest86を起動するとエラー

備忘録。Memtest86+Link をHDDに入れてGrubから実行すると、

Error 28: Selected item cannot fit into memory

というエラーが出て、メニューに戻されてしまう場合の対処。

  1. 開発環境のインストールされたLinuxを用意
  2. Memtest86+Link のソースコードを入手、任意のディレクトリに展開
  3. ソースコードディレクトリ内memtest.ldsファイルをエディタで開き、.=の左辺を0x100000に変更
  4. OUTPUT_FORMAT("elf32-i386");
    OUTPUT_ARCH(i386);
    
    ENTRY(_start); 
    SECTIONS {
            . = 0x100000;  // Change to 0x100000
            _start = . ;
            .data : {
                    *(.data)
            }
    }
    
  5. make (configure不要)
  6. 出来上がったmemtest (拡張子無し)を目的のPCの/bootにコピー
  7. /boot/grub/menu.lst (もしくは/boot/grub/grub.conf)に以下のエントリを追加もしくは変更。rootの行は自分の環境に合わせて変更。要点はkernel行に--type=netbsdオプションをつけること。
  8. title Memtest86+
           root (hd0,0)
           kernel --type=netbsd /boot/memtest
    

自分用に作ったMemtest86+ 4.10のファイルを添付しておきます(ファイル名をmemtestに変更してください)。

[ エラーの原因 ]
  1. Memtest86は古いタイプの起動方法を採っており、通常BIOSが使わない090000-09A000hの領域は空いているものとし、そこに実行プログラムを読み込む。
  2. しかし比較的新しい(今回Pentium 4のPCサーバでエラーとなったので、今のマシンは全部新しい)BIOSはこの領域を予約域として確保している。
  3. Grubはこの領域が予約されているのが分かるので、そこにMemtest86を読み込むことはエラーとして実行しない。
[ エラーの回避方法 ]
  • ELF形式のバイナリファイルを使う(拡張子無しのmemtestを使う)
  • GrubにELFファイルでブートする設定をする (--type=netbsdの指定)
  • GrubはELFファイルを1MB以下のアドレスにはロードしないので、1MB以上の場所を開始アドレスとする(memtest.ldsの編集)

この問題をバグだという人もいる(多い)しバグではないという人もいるみたいで判断が難しいですが、私的にはバグと言い切るのは安直かなぁと。

[参考(というかそのまんま)]
添付ファイル: memtest.memtest 

— posted by mu at 06:47 pm   commentComment [5]  pingTrackBack [0]

Visual C#のフォームデザイナでイベントハンドラを指定すると落ちる

Windows7 x64上でVisual C# 2010 Expressを使ってとあるプログラムを開発。開発マシン上では何の問題もなかったのに、実行ファイルをXP x86に持って行くと、ウィンドウを表示することもなくエラーで落ちる。理由は不正なアドレス(0x4)へのアクセス。また対象フレームワークの問題Link かと思ったのですが、今回はフレームワークを変更しても解決しない。

こまめにログを出力させて突き止めたエラー発生箇所はForm1.InitializeComponent…Visual C#が自動コード生成した場所じゃないか。さらにInitializeComponentの内部を探ると、落ちた箇所は最後の方にあるthis.panel1.ResumeLayout(false);という行。デバッガで追ってもResumeLayoutを記述しているコードはなく、.NET Frameworkの中っぽい。

何がおかしいのか見当もつかないので、以下の手順で変更、その都度XP上で落ちるかどうかを確認。

  • Form1.panel1上に配置していたコントロールを別の場所に退避、panel1を削除 → 落ちない
  • panel1をつくり直すが、元にあったコントロールはpanel1上に配置しない → 落ちない
  • 新panel1上に退避していたコントロールを配置 → 落ちない
  • pane1のプロパティでSizeChangedイベントに自前のハンドラを設定 → 落ちた
  • 自前のイベントハンドラを何もしない関数に変更 → 落ちない

この自前ハンドラはpanel1のサイズに合わせて中のコントロールサイズを複雑に変えるものでして、panel1とpanel1上のコントロールのサイズを参照するため、コントロールの初期化が終わる前(=InitializeComponentが完了する前)に呼び出されたなら確かにまずい。しかしWindows7 x64のデバッガ上ではハンドラは呼び出されないんだけどなぁ。

解決策としては、
  • panel1のプロパティでのSizeChangedイベントハンドラの指定をしない
  • Form1_Loadでイベントハンドラを指定する
という方法で、XPでも落ちなくなりました。

[2010/11/6 追記] どうもWindows7とXPでコントロールの表示サイズが異なることが原因みたいです。今回のプログラムはWindows7で開発していたので、

  • XPで実行: panel1にアンカー(メインウィンドウのサイズに合わせて自身のサイズを変更する)が設定されており、panel1.ResumeLayoutでリサイズが発生、ハンドラが呼び出され落ちる
  • 7で実行: 開発時のサイズで表示できるのでリサイズが発生しない

ということは、XPで開発するとVista/7では落ちることになるのかな…


— posted by mu at 12:12 am   commentComment [4]  pingTrackBack [0]

CEATEC Japan 2010

blog20101009-CEATECJapan_3DCam

TGSLink の反省もなく、また行ってまいりました幕張。3Dテレビでお腹いっぱい。東芝、シャープ、パナソニックを視聴してきましたが、
  • 板が奥行き方向に並んでいる感じで、立体絵本Link のように見えてしょうがない。
  • 鮮やかさに欠ける
    • 原理上高速で左右交互に片目を目隠ししているようなものなので、眼に入る光量が半減。
    • 液晶の場合、左右の画像を高速に切り替えるため残像が入りボケる。
  • 個人的経験上、どうしても3D IMAXで感じた迫力と比較してしまい見劣りする(ただし私にとって3D IMAXの迫力は画面の大きさによるものが大きい)。
とういう感じで、どうも今ひとつのめり込めませんでした。

写真は3Dカメラのデモ。左端にあるカメラで撮影された女性がその上の画面で3D画像として表示されるもの。しかしそんな技術に感心するよりも、閉鎖された部屋の中でひたすら単調な動きを繰り返すしかない女性の仕事が大変だなと思ってしまうあたりは、我ながら友達に「夢のないやつ(*1)」と言われただけある。

(*1) 東京ディズニーランドのエレクトリックパレードで、ブランコに乗っている着ぐるみの豹に対して「しっぽが命綱になってる(ブランコと金具で接続されている)」と指摘した時にに言われた

シャープの4色液晶テレビクアトロンLink は従来の3色と並べられると確かに鮮やか。だけど普段3色でも不足は感じないだろうなぁ、と思いつつBlu-rayを見慣れるとDVD画質が荒っぽく見えるように、4色に慣れると3色がひどく色あせて見えるのかもしれない。

そんな最新技術よりも何気に気に入ってしまったのは、三菱の倍速クリアピクチャー技術Link 。私はパソコンで地デジやDVD/Blu-rayを見ているのですが、横や縦に流れる文字がブレて見えることが気になっていました。クリアピクチャーだと文字が綺麗に流れますです、ハイ。テレビでは既に高級機種で搭載されていたそうですが、それがパソコン用ディスプレイとして登場。ちょっと値段高めですけどね。

ああ、あとシャープで裸眼(メガネなし)3D 液晶を見ましたが、全然3Dに見えませんでした orz ワタシノ メガ ワルイノカ

blog20101009-CEATECJapan_Kei

こちらの写真は先日Link も触れた地球シミュレータの後継機「京」を構成する1モジュール(富士通製)。「京」はこれの1万倍の計算能力だそうです(といって、これを1万台並べるわけではないはず)。

— posted by mu at 10:21 pm   commentComment [0]  pingTrackBack [0]

PCでmsec時間測定(7) - 公開

前回Link 以降、依頼主に回路を引渡して使ってもらい何度か(主に使い勝手の)修正、試験使用を待つ状態になったようです。

一段落ついたということで記録に残すという意味も兼ね、AVR側のプログラムと使い方を公開Link することにしました。現時点PC側のプログラムを提供してませんので、お手軽には使えないと思いますが…使う目的によってプログラムは千差万別と思ってまして、簡単かつ汎用的な目的が思い浮かばない状態です。


— posted by mu at 06:26 pm   commentComment [4]  pingTrackBack [0]

T: Y: ALL: Online:
ThemeSwitch
  • Basic
Created in 0.0298 sec.
prev
2025.9
next
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30