2007-01-28から1日間の記事一覧

JVMが特定のCPUを使うようにしたい

SMPやHT(HyperThreading)のようなマルチCPU構成のPC上で、Java仮想マシンが特定のCPUだけを使う指定というのはJavaのパラメタ側で制御できないのだろうか。 Windowsプラットホーム(2000以降)であれば、タスクマネジャから「関係の設定(Set Affinity)」で同様…

JVMが特定のCPU(だけ)を使うように設定する

なんとWindowsNT以降のResourceKit等に添付されているImageCFG.exeでCPU affinityの設定を行えるようだ。(イメージヘッダの書き換えなので、設定というよりパッチ当てと同等だが) C:\Users\Kazz>imagecfg usage: IMAGECFG [switches] image-names... [-?] di…

プロセスアフィニティマスクをアプリケーションで設定する

前回のエントリではimagecfgというユーティティを使用してプロセスアフィニティを設定したが、この方法ではバイナリのイメージヘッダを直接書き換えてしまうため変更は恒久的なものになってしまう。 動的に変更することはできないのだろうかと調べるとWin32…

プロセスアフィニティマスクをProcessクラスのプロパティで設定する

この"プロセスアフィニティマスク"だが、Processクラスのプロパティとしてちゃんと用意されていることが判明した。Process.ProcessorAffinity プロパティ先ほどのイベントハンドラは、以下のように書き換えることができる。P/Invokeの記述も一切不要だ。 pri…

遠回り

PC

NyaRuRuさんからコメントを頂いた。 コマンドプロンプトから,start /AFFINITY 1 とかいかがでしょう? コマンドなのでJavaも含めて他のアプリケーションのアフィニティを指定するのも簡単だ。これが一番シンプルで使いやすいだろう。コマンドで書けることを…