アフィニティ・マスクについて
◇-?アフィニティ・マスクについて-ポロ-04/07-12:47(119)-No.445619 ┗?!Re:アフィニティ・マスクについ...-norimaki2000-04/07-13:07(119)-No.445623 ┗?!【ありがとう】Re:アフィニティ...-ポロ-04/07-13:15(119)-No.445624 ┣?!A!Re:アフィニティ・マスクにつ...-閻魔-04/07-14:08(118)-No.445630 ┃ ┗?!A!【ありがとう】Re:アフィニテ...-ポロ-04/07-14:18(117)-No.445634 ┃ ┗?!A!A!Re:アフィニティ・マスクに...-norimaki2000-04/07-14:29(117)-No.445638 ┗?!A!Re:アフィニティ・マスクにつ...-pandora-04/07-14:22(117)-No.445635
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
445619 | アフィニティ・マスクについて | ポロ | 2008/04/07-12:47 |
メーカー名:富士通 OS名:WindowsXp HomeEdition パソコン名:FMV-NX90SD -- アフィニティ・マスクについて知りたいのですが アフィニティマスクを使ってシングルコアで特定のソフトを作動させた場合 元のデュアルコアやクアッドコアで動作させるようにするにはどんな数値にすればいいのでしょうか? 書式は以下の通りですが、1の所を何にすればデュアルやクアッドなどになるのか教えてください シングル:CPU1→1 デュアル:CPU1+CPU2→? トリプル:CPU1+CPU2+CPU3→? クアッド:CPU1+CPU2+CPU3+CPU4→? imagecfg -a 1 "???" |
▲このページのトップに戻る
445623 | Re:アフィニティ・マスクについて | norimaki2000 | 2008/04/07-13:07 |
記事番号445619へのコメント アフィニティ・マスクって言葉、初めて知りました。 勉強になります。 これが参考になりそうです。 http://d.hatena.ne.jp/Kazzz/20070128/p2 ・JVMが特定のCPU(だけ)を使うように設定する - Kazzzの日記 0x6 (00000110) で CPU1 と CPU2 0xE (00001110) で CPU1 と CPU2 と CPU3 の指定になるようです。 まるでTCP/IPのサブネットマスクのような指定方法ですね。 |
▲このページのトップに戻る
445624 | Re:アフィニティ・マスクについて | ポロ | 2008/04/07-13:15 |
記事番号445623へのコメント norimaki2000さんは No.445623「Re:アフィニティ・マスクについて」で書きました。 こちらのサイトはチェックしたのですが、二基目と三基目とかになっていて つまり一期目から順番に設定する方法が知りたくて それと16進数になるんでしょうか? 私は進数とかよくわからないので質問している書式での進数指定でやる場合 つまりCPU1(一基目)を指定する場合は1ですが マルチコアの場合はこの数値が何になるかなんですが すいませんわざわざ探して頂いて恐縮ですが、こちらのサイトでは少しわからないもので |
▲このページのトップに戻る
445630 | Re:アフィニティ・マスクについて | 閻魔 | 2008/04/07-14:08 |
記事番号445624へのコメント 私も初めて知りました。 CPUを各ビットで表す事から。 >0x1 (00000001) = CPU0 (一基目の最初の論理/物理CPUだけを使用する) >0x2 (00000010) = CPU1 (二基目の) >0x3 (00000100) = CPU2 (三基目の) >0x6 (00000110) = CPU1 or CPU2 (二基目と三基目の) >0xE (00001110) = CPU1 or CPU2 or CPU3(二基目と三基目、四基目 と成っていますので、 0x3 (00000011) = CPU0 or CPU1 要するに、ビットの立っている部分がCPUの位置に当たるのだと思います。 しかし、 >0x3 (00000100) = CPU2 (三基目の) は、 0x4 (00000100) = CPU2 (三基目の) の間違いかと思います。 |
▲このページのトップに戻る
445634 | Re:アフィニティ・マスクについて | ポロ | 2008/04/07-14:18 |
記事番号445630へのコメント 閻魔さんは No.445630「Re:アフィニティ・マスクについて」で書きました。 ああなるほど詳しくご説明ありがとうございます これでなんとかやれそうなので再度やってみます ありがとうございましたm(_ _)m |
▲このページのトップに戻る
445638 | Re:アフィニティ・マスクについて | norimaki2000 | 2008/04/07-14:29 |
記事番号445634へのコメント もう解決したかもしれませんが。 >つまりCPU1(一基目)を指定する場合は1ですが >マルチコアの場合はこの数値が何になるかなんですが 16進数での指定については、この記事に下のほうに書かれています。 「このツールに「-a 1」というふうにオプションを与えると、アフィニティ・マスクを設定できる(10進数の場合はそのまま、16進数の場合は先頭に0xを付ける)。」 http://www.atmarkit.co.jp/fwin2k/win2ktips/862affinity/affinity.html ・プログラムの実行に使用するCPUを限定させる − @IT http://d.hatena.ne.jp/Kazzz/20070128/p2 先の「Kazzzの日記」によると、CPU指定はこうなっています。 2進数で考えてこの指定方法になっています。 ・一番右のビット(1桁目)がCPU0 ・2桁目がCPU1 ・3桁目がCPU2 ・4桁目がCPU3 例えばクアッドコアでCPU0〜CPU3の4つすべてを指定する場合、 00001111(2進数)=15(10進数)=F(16進数)となります。 @ITの記事によると16進数指定の場合は先頭に0xを付けると言う事なので、こうなるのでしょう。 imagecfg -a 0xF hogehoge.exe 閻魔さん。 >>0x3 (00000100) = CPU2 (三基目の) > は、 > 0x4 (00000100) = CPU2 (三基目の) > の間違いかと思います。 そのとおりでしょうね。 |
▲このページのトップに戻る
445635 | Re:アフィニティ・マスクについて | pandora | 2008/04/07-14:22 |
記事番号445624へのコメント ポロさんは No.445624「Re:アフィニティ・マスクについて」で書きました。 2進数(16進数)を理解してる人には、何のことは無いんですけどね。 知らない人には苦しいかも。。。 こちらのページの方が素人向けにもう少し優しく書いてあります。 http://www.atmarkit.co.jp/fwin2k/win2ktips/862affinity/affinity.html (以下の部分) >このツールに「-a 1」というふうにオプションを与えると、アフィニティ・マスクを設定できる >(10進数の場合はそのまま、16進数の場合は先頭に0xを付ける)。 >アフィニティ・マスクは2進数のbit配列として解釈され、 >最下位bitがCPU 0(10進数で1に相当)、 >次のbitがCPU 1(10進数で2に相当)、 >その次のbitがCPU 2(10進数で4に相当)、……となっている。 >実行を許可したいCPUのbitを1にして数値で指定する。 つまり、 CPUコアの割り当ては、2進数の各bitに割り当てられてこんな具合。 0bit目 → CPUコア 0 1bit目 → CPUコア 1 2bit目 → CPUコア 2 3bit目 → CPUコア 3 bit対比させるとこんな具合。 bit番号: ・・・ 4 3 2 1 0 CPUコア: ・・・ 4 3 2 1 0 つまり、CPU 0、2 を割り当てたいなら、0/2bit目を 1 にしてこんな具合。 bit番号: 4 3 2 1 0 CPUコア: 4 3 2 1 0 マスク: 0 0 1 0 1 この場合のアフィニティ・マスクは、00101 (2進数)/0x05 (16進数) になります。 |
何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり
参考 | 回数 | 投稿日時 | 何か一言 |
---|