Valori del Registro di sistema per i parametri di controllo del processo

Questo articolo descrive i parametri per i componenti del servizio Controllo processo.

Numero KB originale: 296930

Riepilogo

È possibile modificare manualmente i valori del Registro di sistema del servizio di controllo del processo per le funzioni amministrative o per la risoluzione dei problemi, archiviati nella chiave del Registro di sistema seguente:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ProcCon\Parameters

I componenti seguenti sono descritti in questo articolo:

  • Regole alias processo
  • Regole di esecuzione del processo
  • Regole di esecuzione del gruppo di processi

Stringa predefinita della regola di esecuzione del processo

DfltMgmt:REG_SZ:{F0x0,A0x0,P0x8,L0x0,H0x0,S0x0,T0x0,U0x0,C0x0,M0x0,N0x0}

Dove:

  • F0x0 è l'impostazione predefinita per indicare se questa regola di esecuzione del processo è gestita o meno da un gruppo. Se la regola è in gestione dei gruppi, questo valore viene visualizzato come F0X800 in tutti i casi. Quando questo valore viene impostato, il nome del valore di testo del gruppo in cui viene gestito questo processo viene scritto nella chiave del Registro di sistema seguente:

    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ProcCon\Parameters\ProcessRules\your_process_execution_rule_alias_name\
    • MemberOf:
    • REG_SZ:
    • your_process_group_execution_rule_name
  • A0x0 è l'impostazione predefinita per l'affinità del processore. Il valore 0 indica che non vengono applicate affinità e il processo può essere eseguito su qualsiasi processore disponibile nel sistema. Tutti i valori sono in formato esadecimale. Per configurare manualmente questi valori, è necessario scrivere codice che usa chiamate API e questo processo non rientra nell'ambito di questo articolo.

  • P0x8 è il valore predefinito per la priorità del processo. Il valore predefinito è la priorità normale. La mappa priorità/valore seguente elenca le impostazioni disponibili e tutti i valori sono esadecimali:

    • P0x18 In tempo reale
    • P0xd High
    • P0xa sopra la normale
    • P0x8 Normal
    • P0x6 al di sotto della normale
    • P0x4 Low
  • L0x0 è l'impostazione predefinita per il working set minimo di una regola di esecuzione del processo. I valori sono in kilobyte decimali convertiti in esadecimali. Ad esempio, è possibile impostare l'interfaccia GUI su 10.000, che in decimale sarebbe 10.240.000. Il valore della voce del Registro di sistema corrispondente sarebbe L0x9c4000. Qualsiasi voce nell'interfaccia GUI uguale o maggiore di 9999999999 (o 9,31+TB) causa l'esecuzione di un messaggio di errore "Il working set minimo deve essere maggiore di 0, ma minore del working set massimo". Si verifica un messaggio di errore. Analogamente, una voce del Registro di sistema esadecimale uguale o maggiore di 0x2540BE3FF restituisce lo stesso messaggio di errore alla successiva utilizzo dell'interfaccia GUI.

  • H0x0 è l'impostazione predefinita per il working set massimo di una regola di esecuzione del processo. I valori sono in kilobyte decimali convertiti in esadecimali. Ad esempio, è possibile impostare l'interfaccia GUI su 10.000 che in decimale sarebbe 10.240.000. Il valore della voce del Registro di sistema corrispondente sarebbe L0x9c4000.

  • S0x0, T0x0, U0x0, C0x0, M0x0, N0x0 sono attualmente inutilizzati nelle descrizioni delle regole di esecuzione del processo.

Stringa predefinita della regola di esecuzione del gruppo di processi

DfltMgmt:REG_SZ:{F0x0,A0x0,P0x8,L0x0,H0x0,S0x5,T0x0,U0x0,C0x0,M0x0,N0x0}

Dove:

  • F0x0 prevede diverse configurazioni di vari parametri di controllo del processo. Per configurare manualmente questo valore, è necessario scrivere codice che usa chiamate API e questo processo non rientra nell'ambito di questo articolo.

  • A0x0, P0x8, L0x0, H0x0. I valori per questi parametri vengono calcolati nello stesso modo indicato nella sezione precedente "Default Process Execution Rule String" di questo articolo.

  • S0x5 è il valore predefinito della classe di pianificazione. I valori disponibili sono compresi tra 0 e 9. I valori validi sono S0x0, S0x1, S0x2, ....... S0x9.

  • T0x0 è il valore predefinito per "Apply per process user time limit:". Questo valore viene specificato nell'interfaccia utente grafica nel formato hh:mm:ss. I valori del Registro di sistema sono in un formato esadecimale calcolato dal sistema operativo. Per ottenere le conversioni esadecimali, è necessario creare un metodo basato su codice. Il codice seguente è il codice di esempio che, durante la compilazione, eseguirà la conversione e restituirà il valore esadecimale richiesto quando viene fornito l'input nel formato 0:00:00.

    Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presuppone che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. Gli esperti Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalità di una particolare routine, ma in nessun caso a modificare questi esempi per fornire funzionalità aggiuntive o a creare routine atte a soddisfare specifiche esigenze.

    Per ulteriori informazioni sulle opzioni di supporto disponibili e su come contattare Microsoft, visitare il seguente sito Web Microsoft:

    Numeri di telefono del servizio clienti globale

    Output:

    C:\Projects\timecv\Release>timecv
    Enter time in the following format (hh:mm:ss:) ->2:30:00
    
    Registry value should be 0x14f46b0400
    

    Origine:

    #include "stdio.h"
    
    int main(int argc, char* argv[])
    {
        __int64i64=0;
        intiHour=0,iMinute=0,iSecond=0;
    
        printf ("Enter time in the following format (hh:mm:ss:) ->");
        scanf ("%i:%i:%i", &iHour,&iMinute,&iSecond);
    
        iHour *= 3600;
        iMinute *= 60;
    
        i64=(iHour+iMinute+iSecond);
        i64*=10000000;
    
        printf ("\nRegistry value should be 0x%I64x\n", i64);
        return 0;
    }
    
  • U0x0 è il valore predefinito per "Applica limite di tempo utente del gruppo di processi:". Questo valore viene specificato e calcolato nello stesso modo di quelli nella descrizione T0x0 precedente.

  • C0x0 è il valore predefinito per "Apply process count limit". Questi valori vengono creati tramite una semplice conversione dei valori di input decimali convertiti in esadecimali. Il numero massimo in decimale è superiore a un miliardo di processi.

  • M0x0 è il valore predefinito per i limiti di memoria di cui è stato eseguito il commit del processo. Questo valore è una conversione esadecimale del valore desiderato in kilobyte. Ad esempio, se il valore 10.000 dovesse essere usato, nella GUI il valore del Registro di sistema sarà (10.000*1.024) o 10.240.000 convertito in un valore esadecimale di 0x9c4000.

  • N0x0 è il valore predefinito per i limiti di memoria di cui è stato eseguito il commit del gruppo di processi e viene calcolato nello stesso modo dei limiti di memoria di cui è stato eseguito il commit del processo precedente.

Note

Le regole di esecuzione del gruppo di processi offrono quattro opzioni avanzate per le impostazioni:

  • Gruppo di processi finale quando non viene eseguito alcun processo nel gruppo.
  • Morire in caso di eccezioni non gestite.
  • Scompicca in silenzio.
  • Breakaway OK.

Questi elementi non possono essere modificati manualmente nel Registro di sistema. Questi valori devono essere modificati tramite chiamate di programmazione API non descritte in questo articolo.