Process.ProcessorAffinity Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví procesory, na kterých mohou být vlákna v tomto procesu naplánována ke spuštění.
public:
property IntPtr ProcessorAffinity { IntPtr get(); void set(IntPtr value); };
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
[System.Runtime.Versioning.SupportedOSPlatform("linux")]
public IntPtr ProcessorAffinity { get; set; }
public IntPtr ProcessorAffinity { get; set; }
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
[<System.Runtime.Versioning.SupportedOSPlatform("linux")>]
member this.ProcessorAffinity : nativeint with get, set
member this.ProcessorAffinity : nativeint with get, set
Public Property ProcessorAffinity As IntPtr
Hodnota vlastnosti
nativeint
Bitová maska představující procesory, na kterých se můžou spouštět vlákna v přidruženém procesu. Výchozí nastavení závisí na počtu procesorů v počítači. Výchozí hodnota je 2 n -1, kde n je počet procesorů.
- Atributy
Výjimky
ProcessorAffinity informace nelze nastavit nebo načíst z přidruženého prostředku procesu.
nebo
Identifikátor procesu nebo popisovač procesu je nula. (Proces nebyl spuštěn.)
Pokoušíte se získat přístup ProcessorAffinity k vlastnosti pro proces spuštěný ve vzdáleném počítači. Tato vlastnost je k dispozici pouze pro procesy spuštěné v místním počítači.
Poznámky
Hodnota vrácená touto vlastností představuje naposledy aktualizované spřažení procesu. Pokud chcete získat nejaktuálnější spřažení, musíte nejprve volat Refresh() metodu.
V Windows 2000 a novějších může vlákno v procesu migrovat z procesoru na procesor, přičemž každá migrace znovu načte mezipaměť procesoru. Při vysokém zatížení systému můžete určit, který procesor by měl spustit konkrétní vlákno, zvýšit výkon snížením počtu opětovného načtení mezipaměti procesoru. Přidružení mezi procesorem a vláknem se nazývá spřažení procesoru.
Každý procesor je reprezentován jako bit. Bit 0 je procesor jeden, bit 1 je procesor dva a tak dále. Pokud nastavíte bit na hodnotu 1, je pro přiřazení vlákna vybrán odpovídající procesor. Když nastavíte hodnotu na nulu ProcessorAffinity , algoritmy plánování operačního systému nastaví spřažení vlákna. ProcessorAffinity Pokud je hodnota nastavena na libovolnou nenulovou hodnotu, tato hodnota se interpretuje jako bitová maska, která určuje procesory, které mají nárok na výběr.
Následující tabulka ukazuje výběr hodnot pro systém osmi procesorů ProcessorAffinity .
| Maskování | Binární hodnota | Opravňující procesory |
|---|---|---|
| 0x0001 | 00000000 00000001 | 1 |
| 0x0003 | 00000000 00000011 | 1 a 2 |
| 0x0007 | 00000000 00000111 | 1, 2 a 3 |
| 0x0009 | 00000000 00001001 | 1 a 4 |
| 0x007F | 00000000 01111111 | 1, 2, 3, 4, 5, 6 a 7 |