MSIモード(MSI Mode)とは?ゲームで有効にすべきか|MSI Utilityの前に確認したい割り込み方式【2026年版】
本記事にはアフィリエイト広告(Amazon・楽天市場等)のリンクが含まれています。
MSI Utilityの前に確認したい割り込み方式
出典(確認日2026年9月26日):Microsoft Learn「Introduction to Message-Signaled Interrupts」/Microsoft Learn「Enabling message-signaled interrupts in the registry」/Microsoft Learn「Interrupt Affinity and Priority」/Microsoft Learn「IRQ_PRIORITY enumeration」/igor’sLAB「Interrupt problems? Read Message Signaled Interrupts (MSI)」
ゲーミングPCの最適化を調べていると、「MSIモードを有効にすると入力遅延が減る」「MSI UtilityでGPUやNVMe SSDにチェックを入れる」といった情報に行き当たります。ここでいうMSIは、マザーボードやグラフィックボードのメーカーであるMSIとは関係ありません。Message Signaled Interrupts(メッセージ通知割り込み)の略です。
MSIは、Windows自体が普通に使っている標準の割り込み方式です。Microsoftの資料では、デバイスがMSIとその拡張版のMSI-Xの両方に対応していれば、OSが自動的にMSI-Xを使うとされています。実際にRyzen 9 PRO 6950H搭載のミニPCで確かめたところ、GPU・NVMe SSD・有線LAN・Wi-Fi・USBは、ツールを使わなくてもすでにMSIで動いていました。
つまり、最初にやるべきなのはMSIモードを有効にすることではなく、今どの方式で動いているかを確認することです。確認のやり方、変わる可能性があるのはどんな場合か、変更を試すときにどう戻せるようにしておくかを順に見ていきます。
目次
要点先に結論
仕組みMSIモードとは何か
GPUやNVMe SSD、LANアダプターなどのPCIeデバイスは、処理が終わったときやデータが届いたときに、CPUへ「割り込み」をかけて知らせます。昔からある方式は、専用の信号線(割り込みライン)を使うラインベース割り込みです。割り込みラインの数には限りがあるため、複数のデバイスが同じラインを共有することもあります。
MSIは、この信号線の代わりに、デバイスが決められたメモリアドレスに値を書き込むことで割り込みを起こす方式です。Microsoftの資料によると、MSIはPCI 2.2で導入され、1台のデバイスで最大16個のメッセージを使えます。PCI 3.0で定義された拡張版のMSI-Xでは、最大2,048個まで使えます。
メッセージを複数使えると、たとえばNVMe SSDの複数のI/Oキューや、LANアダプターの複数の受信キューを、それぞれ別の割り込みとして扱えます。デバイスがMSIとMSI-Xの両方に対応している場合は、OSが自動的にMSI-Xを選びます。
MSIを使うかどうかは、本来ドライバーが決める
Microsoftの資料では、MSIを使うドライバーは、インストール時にINFファイルからレジストリへMSIを有効にする値を書き込むと説明されています。場所はデバイスのハードウェアキーの下にある「Interrupt Management\MessageSignaledInterruptProperties」で、「MSISupported」を1にするとMSIが有効になります。「MessageNumberLimit」で使うメッセージの上限数も指定できます。
MSI UtilityなどのツールはMicrosoftの公式ツールではなく、このMSISupportedの値を手動で書き換えるものです。値の意味自体はMicrosoftが公開していますが、どのデバイスで1にしてよいかは、本来はデバイスとドライバーの開発元が判断する設定です。
確認今のPCがMSIで動いているか確認する方法
確認の方法は2つあり、どちらも設定を変えずに見るだけです。
デバイスマネージャーでIRQ番号を見る
- スタートボタンを右クリックして「デバイス マネージャー」を開く
- メニューの「表示」から「リソース (種類別)」を選ぶ
- 「割り込み要求 (IRQ)」を展開する
- 各デバイスの左にある番号を見る。0xFFFFFFで始まる値(10進数ではマイナスの値)ならMSI、0や16、32のような正の小さい番号ならラインベース割り込み
MSIで動いているデバイスは、使っているメッセージの数だけ行が並びます。NVMe SSDやLANアダプターが同じ名前で何行も出てくるのは異常ではなく、複数の割り込みを使い分けているためです。
PowerShellでMSISupportedの値を一覧にする
レジストリに登録されているMSISupportedの値は、次のコマンドでまとめて表示できます。読み取るだけで、値は変更しません。PowerShellを開いて貼り付けてください。
Get-ChildItem 'HKLM:\SYSTEM\CurrentControlSet\Enum\PCI' -Recurse -ErrorAction SilentlyContinue | Where-Object { $_.PSChildName -eq 'MessageSignaledInterruptProperties' } | ForEach-Object { $dev = $_.PSPath -replace '\\Device Parameters.*$',''; [pscustomobject]@{ Device = (Get-ItemProperty $dev).DeviceDesc -replace '^.*;',''; MSISupported = $_.GetValue('MSISupported'); Limit = $_.GetValue('MessageNumberLimit') } } | Format-Table -AutoSize
MSISupportedが1のデバイスはMSIが有効、0のデバイスはドライバーがMSIを使わない設定にしています。一覧に出てこないデバイスには値が登録されていません。値がないことは「MSIを使っていない」と同じ意味ではないので、判断はデバイスマネージャーのIRQ番号と合わせて行います。
実機ミニPCで確かめた結果、ほとんどが最初からMSIだった
Ryzen 9 PRO 6950Hを搭載したミニPC(GMKtec NucBox M7 Pro、Windows 11 Pro ビルド26200)で、MSI Utilityなどのツールを一度も使っていない状態のまま確認しました。
| デバイス | MSISupported | 上限(Limit) | 割り込み |
|---|---|---|---|
| 内蔵GPU(AMD Radeon Graphics) | 1 | 指定なし | MSI・4本 |
| NVMe SSD(Standard NVM Express Controller) | 1 | 2,048 | MSI・9本 |
| 有線LAN(Intel I226-V・2ポート) | 1 | 5 | MSI・各5本 |
| Wi-Fi(Intel Wi-Fi 6 AX200) | 1 | 2 | MSI・2本 |
| USBコントローラー(xHCI・5基) | 1 | 指定なし | MSI・各1本 |
| USB4ホストルーター(2基) | 1 | 16 | MSI・各16本 |
| HDオーディオ(コントローラーとバス) | 0 | ― | ラインベース・各1本 |
GPU、NVMe SSD、LAN、Wi-Fi、USBは、どれもドライバーが最初からMSISupportedを1にしていて、IRQ番号はすべてマイナスでした。NVMe SSDは上限2,048のMSI-X設定で、9本の割り込みを使っています。この状態のGPUやNVMe SSDにMSI Utilityでチェックを入れても、すでに有効なものを有効にするだけで、何も変わりません。
唯一ラインベース割り込みで動いていたのは、HDオーディオ(HDMI・DisplayPort音声などを扱う部分)です。ここはドライバーが明示的にMSISupportedを0にしていて、IRQ番号は32と35という正の値でした。ツールで「MSIになっていないデバイス」として目につくのは、こうしたドライバーがあえて0にしているデバイスです。
確認したのは内蔵GPUのミニPC1台です。単体のグラフィックボードや、別メーカーのLAN・オーディオチップでは、ドライバーの設定が異なる場合があります。自分のPCの状態は、上の2つの方法で確認してください。
効果MSIモードを有効にすると遅延やFPSは変わるか
すでにMSIで動いているデバイスなら、変わりません。変更する対象がないからです。MSIモードはGPUの描画性能やSSDの転送速度を上げる設定ではないので、平均FPSやロード時間が伸びることも期待できません。
変化が出る可能性があるのは、デバイスがラインベース割り込みで動いていて、しかも別のデバイスと同じ割り込みラインを共有している場合です。共有していると、割り込みが来るたびに、どのデバイスからの割り込みかをドライバーが確かめる処理が挟まります。こうした環境で音切れやDPC遅延の急増が起きているなら、MSIへの切り替えを切り分けの候補にする意味はあります。
音切れやカクつきの原因を探すなら、先にLatencyMonで、どのドライバーのDPCやISRの処理時間が長いのかを特定するのが近道です。使い方はLatencyMonの使い方とDPCレイテンシの診断方法で解説しています。
HDオーディオを1に書き換えるのは慎重に
HDオーディオのように、ドライバーが0にしているデバイスを1に変えると、ドライバーが想定していない動作になります。音が出なくなるなどの不具合が起きる可能性があり、そのときは元に戻す必要があります。LatencyMonでHDAudBus.sysの値が高い場合は、MSIに手を付ける前に、HDAudBus.sysの切り分けで紹介しているHDMI・DisplayPort音声の無効化やドライバーの入れ直しを先に試してください。
優先度優先度Highとアフィニティは別の設定
MSI Utilityのようなツールには、MSIの有効化とは別に、割り込みの優先度(Priority)をHighにする項目や、割り込みを処理するCPUを固定する項目があることがあります。これらはMSIモードとは別の設定です。
Microsoftの資料では、割り込みの優先度はUndefined・Low・Normal・Highの4段階で、Highは「低い遅延が必要なデバイス向け」とされています。システムはこの値を、デバイスの割り込みにIRQL(割り込みを処理する優先レベル)を割り当てるときの目安に使います。あくまで他のデバイスとの相対的な順位なので、GPUもNVMe SSDもUSBもすべてHighにすると、差がなくなるだけです。
割り込みを処理するCPUの指定(アフィニティ)についても、Microsoftは該当する場合は既定のポリシーを使うことを推奨しています。CPUのコア構成やデバイスのつながり方でふさわしい設定は変わるので、「GPUの割り込みを特定のコアに固定すれば速くなる」という設定は、どのPCにも当てはまるものではありません。
手順それでも試すなら守りたい手順
ラインベース割り込みで動いていて、そのデバイスが原因とみられる音切れやDPC遅延があるときだけ、次の順番で試します。
- デバイスマネージャーとPowerShellで、今の割り込み方式とMSISupportedの値を記録する
- 変更するデバイスの「Interrupt Management」キーを、レジストリエディターの「エクスポート」で.regファイルに保存する
- 変更するのは1台だけにする。優先度やアフィニティは同時に変えない
- 再起動し、同じゲームの同じ場面でLatencyMonとフレームタイムを比べる
- 変化がないか、不具合が出たら、保存した.regファイルを読み込んで元に戻す
システムドライブのNVMe SSDやGPUは、設定が合わないとWindowsが起動しない、画面が映らないといった形で影響が大きく出ます。この2つは、すでにMSIで動いているなら触らないのが安全です。起動しなくなった場合は、セーフモードで起動して保存した設定を読み込み直します。
判断MSIモードを試す価値がある場合・ない場合
- デバイスマネージャーでIRQ番号が正の値になっている
- そのデバイスが別のデバイスと同じIRQ番号を共有している
- LatencyMonで、そのデバイスのドライバーが原因とみられる遅延が出ている
- 元に戻せるように、変更前の設定を保存してある
- IRQ番号がすでにマイナス(MSIで動作中)
- 音切れやカクつきなど、具体的な症状がない
- FPSやロード時間を上げたいだけ
- MSI Utilityの項目をすべてEnabledやHighにしようとしている
FAQよくある質問
まとめまとめ|有効にする前に、今の割り込み方式を確かめる
MSIモードは、PCIeデバイスが割り込みをCPUに伝える方式で、Windowsが標準で使っている仕組みです。ドライバーが対応していれば最初からMSIやMSI-Xで動いていて、実機でもGPU・NVMe SSD・LAN・USBはツールなしでMSIになっていました。
ゲームのFPSを上げる設定ではないので、症状がないなら触る必要はありません。音切れやDPC遅延があり、原因のデバイスがラインベース割り込みで動いている場合に限り、設定を保存したうえで1台ずつ試し、効果がなければ戻すのが安全です。
MSIモードは有効にするものというより、確認するものです。デバイスマネージャーでIRQ番号がマイナスならすでにMSIで動いているので、変更は要りません。優先度HighやCPUの固定も別の設定なので、まとめて変えないようにしてください。





