2006年11月アーカイブ

相変わらず落ちまくるFirefox2。なんとなく、Core Duoが悪いんじゃないかなと思っていたのですが、以下のページを発見。

Core Duoで使ってるとすぐに「応答なし」になってしまっていたのでふ。

さっそく、そこで紹介されていたCPU Dynamic Assign Helperを入れてみたのでした。
まだ効果があるかはわかりませんが、確かに私が使っていてFirefoxが落ちるマシンは Core DuoとPen4(HTT)でした。
さらに、別の意味でこんなソフトが欲しかったのよね。

Firefoxが落ちる問題で、CPU Dynamic Assign Helperと言うソフトを入れたのだが、うちの環境では期待通りに動かなかった。
そのページにリンクがあり、limitCPUと言うものにもたどり着いたが、いまいち使い勝手が合わなかった。
で、探していたらProcAffと言うソフトにたどり着いた。
こいつでほぼ期待通りの動きをしそうだったのだが、DLLがないとか言われて実行できなかった。
しかし、最後のProcAffにはソースがついていたので、見てみたらなんとなく雰囲気がつかめた。

こうなったら、久しく離れていたWindowsのプログラムを書くしかないでしょう。
さっそく、Microsoftのページから、Visual C# 2005 Express Edition日本語版をダウンロードして、インストールしてみる。
Windowsの開発はまともにやったことがないので、作法とか全然わからないのと、ヘルプが追いにくいので微妙に苦労したが、肝としてはProcessクラスのProcessorAffinityプロパティを設定するだけなので、至極簡単である。
本当は、ショートカットで設定できる「実行時の大きさ」を引き継ぎたかったのだが、自分の起動時の「実行時の大きさ」を取得する方法がわからなかったので、常にNormalになってしまう。
出来上がったソースは以下のような感じ。
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.Windows.Forms;


namespace lc
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args.Length < 2)
            {
                MessageBox.Show("Usage: lc affinity command args...", "lc", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            try
            {
                IntPtr affinity = new IntPtr(Int32.Parse(args[0]));
                Process me = Process.GetCurrentProcess();
                ProcessStartInfo startInfo = me.StartInfo;
                startInfo.FileName = args[1];
                startInfo.Arguments = "";
                for (int i = 2; i < args.Length; i++)
                {
                    startInfo.Arguments += args[i] + " ";
                }
                Process p = Process.Start(startInfo);
                p.ProcessorAffinity = affinity;
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "lc", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }
}
使い方は、CPUを制限したいアプリケーションの起動ショートカットのプロパティを開き、リンク先のところの前に、「lc.exe 2」 とか追加すれば良い。第1パラメータは、1 ならCPU1だけ、2ならCPU2だけ、3なら両方使う。
あ、私の場合はlc.exeがPATHの通ったところにあるので、そうでない場合はフルパスで書いてください。

とりあえず、ためしに作ったインストーラを添付しておきます。 lc-1.0.0.1.zip
https://www.google.com/a/と言うものがあるらしい。
今のところ使い道が思いつかないんだけど、とりあえず登録してみる。
最初、wizard-limit.netで登録したのだけれど、それだとフル機能を使うためにはメールをgoogleに転送しないといけない(MXをgoogleにする)ので、g.wizard-limit.netで取り直し。
取り直しと言っても、追加登録なのだけど、元のを消すにはどうしたら良いんだろう?
やることは、dnsの設定と、認証用のwebのファイルを置くだけ。
これで、http://mail.google.com/a/g.wizard-limit.net で独自ドメイン向けのメール、カレンダー、チャット、ウェブが使えるようになる。
面白いと思うんだけど、やっぱり使い道が・・・。
2006年11月
      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    

このアーカイブについて

このページには、2006年11月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2006年10月です。

次のアーカイブは2006年12月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.1.1