2006年08月26日 おかしなサウンドデバイス
_ [PC][音楽]おかしなサウンドデバイス
現在使用しているノートPCのサウンドデバイスは Conexant AC-Link Audio なのですが、音楽の再生を一時停止すると、何故かCPU使用率が30〜40%になることがあります。再現するのは次のパターン。
- その1
- DirectSound出力で音楽ファイルを再生する。
- WaveMapper(WaveOut)出力で音楽ファイルを再生する。
- WaveMapper(WaveOut)出力の再生を停止。
- DirectSound出力の再生を一時停止。
- その2
- WaveMapper(WaveOut)出力で音楽ファイルを再生。
- WaveMapper(WaveOut)出力の再生を一時停止するか、停止してもデバイスを開放しない。
実際に「その2」を行ってパフォーマンスモニタで確かめてみました。
確かに一時停止するとCPU使用率が上がっているのですが、ヘッドフォン端子に何かを接続していればその現象は起こらないようです。タスクマネージャのパフォーマンスタブを見ると、どうも「カーネル時間」として消費しているらしいので、サウンドドライバが怪しい気がするのですが・・・ 謎です。
おまけ:カーネル時間として消費している分はタスクマネージャのプロセスタブには現れないようで、CPU使用率が高いにもかかわらずSystem Idle Processが90%以上でした。
2006年08月27日 UPnPでサーバーメンテナンス中もレスポンスを返す方法(条件付)
_ [PC][Web]UPnPでサーバーメンテナンス中もレスポンスを返す方法(条件付)
まえがき
いわゆる「自宅サーバ」を構築・運営されている人はそう多くないと思います。p2pquake.ddo.jpも1台で細々と運営しています。
が、サーバのメンテナンスが必要となった場合、メンテナンス中はアクセスを受け付けられません。「複数台でロードバランサ構成組んでるぜ!」と言う人には問題ありませんが、そうでない人にはちょっと困った問題です。DDNSのオフライン転送機能はDNSキャッシュ等の影響で待たされるし、独自サービスは転送出来ない。特に「P2P地震情報」がベータ2だった頃は、1台のサーバでピアのコネクションを全て管理していたので、(再起動の数分間でも機能が機能なので)切実な問題でした。
…などと悩んでいたところ、「ルータのアドレス変換で別のマシンに飛ばす」という方法を思いつきました。が、設定を変更するとTCP/IPセッションが全て切れてしまう(らしい)謎のルータで、これは使えません。
そこでテレビショッピングのごとく登場するのがUPnP。ルータの再起動やTCP/IPセッション断もなく動的にアドレス変換が出来ちゃうスグレモノ。これを使ってサーバへのアクセスを別のマシンに振ってしまえば、サーバを再起動しても別のマシンからレスポンスが返せる… というわけです。
方法 - 用意するもの
方法 - 手順
- サブサーバに必要なソフトウェアやデータを突っ込み、稼動。
- UPnPCJを使い、サブサーバにアクセスを振る(ポート開放)。
- サーバをメンテナンス。
- UPnPCJで、アクセスを振ったのを削除(ポート閉鎖)。またはサーバにアクセスを振る。
- サブサーバの稼動終わり。
それだけ。
単純に「メンテナンス中」と返すもよし、全データをミラーしてメンテナンス中と思わせないもよし。あるいは、面倒なのでメンテナンス中はどうでもいいや、と開き直るもよし。