Ejemplo 14: Configuración de un grupo especial
A partir de Windows Vista, puede configurar la característica Grupo especial como una configuración de marca de kernel o como una configuración del Registro. Si la configura como una configuración de marca de kernel (tiempo de ejecución), no es necesario reiniciar el equipo para que el cambio sea efectivo. En versiones anteriores de Windows, el grupo especial solo está disponible como una configuración del Registro.
Además, a partir de Windows Vista, puede establecer y configurar la característica Grupo especial desde la línea de comandos. En versiones anteriores de Windows, solo puede establecer y configurar la característica Grupo especial en el cuadro de diálogo Marcas globales.
Solicitar grupo especial por etiqueta de grupo sin reiniciar
El comando siguiente solicita un grupo especial para todas las asignaciones con la etiqueta de grupo Tag1 . Esta configuración se hace efectiva inmediatamente, pero se pierde si apaga o reinicia Windows.
Este comando usa el parámetro /k para especificar un valor de marca de kernel (tiempo de ejecución) y la abreviatura +spp para establecer una solicitud de grupo especial.
gflags /k +spp Tag1
Gflags responde imprimiendo:
Special Pool set to 0x31676154
PoolTagOverruns set to 0x1
Current Running Kernel Settings are: 00000000
Tenga en cuenta que la solicitud de asignación de grupo especial no es una configuración de marca de kernel y no se refleja en el valor de configuración del kernel.
Además, una solicitud de asignación de grupo especial no cambia el valor de la configuración de saturación (0x1) ni de ejecución (0x0) para un grupo especial. Para cambiar de saturaciones, el valor predeterminado, a subejecuciones, use el cuadro de diálogo Gflags. Para obtener información, consulte Detección de saturaciones y subrunes.
No se puede mostrar la etiqueta pool en la línea de comandos. Para comprobar que la etiqueta de grupo es una configuración de kernel, use el cuadro de diálogo Gflags.
Solicitar grupo especial por etiqueta de grupo en el Registro
El comando siguiente solicita un grupo especial para todas las asignaciones con la etiqueta de grupo Tag1 . Dado que esta configuración se almacena en el Registro, debe reiniciar el equipo para que sea efectivo, pero sigue siendo efectivo hasta que lo cambie.
Este comando usa el parámetro /r para especificar una configuración del Registro y la abreviatura +spp para establecer una solicitud de grupo especial.
gflags /r +spp Tag1
Gflags responde imprimiendo:
Special Pool set to 0x31676154
PoolTagOverruns set to 0x1
Current Boot Registry Settings are: 00000000
Tenga en cuenta que la solicitud de asignación de grupo especial no es una configuración de marca del Registro y no se refleja en el valor de configuración del Registro.
Además, una solicitud de asignación de grupo especial no cambia el valor de la configuración de saturación (0x1) ni de ejecución (0x0) para un grupo especial. Para cambiar de saturaciones, el valor predeterminado, a subejecuciones, use el cuadro de diálogo Gflags. Para obtener información, consulte Detección de saturaciones y subrunes.
Para comprobar que el valor se ha agregado al Registro, use Reg o Regedit para mostrar el valor de la entrada PoolTag en la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management .
Por ejemplo:
c:>reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -v PoolTag
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
PoolTag REG_DWORD 0x31676154
Solicitar grupo especial por tamaño sin reiniciar
El comando siguiente solicita un grupo especial para las asignaciones de 1 a 8 bytes en un equipo x86 con un PAGE_SIZE de 0x1000 y granularidad de asignación de 8 bytes.
Este comando usa el parámetro /k para especificar un valor de marca de kernel (tiempo de ejecución) y la abreviatura +spp para establecer una solicitud de grupo especial. El valor de tamaño va precedido por 0x para indicar que es un tamaño y no una etiqueta de grupo.
El valor, 0x10, se calcula agregando la granularidad de asignación (8 bytes) al tamaño más grande del intervalo (8 bytes) para un total de 16 bytes (0x10). Para obtener ayuda para determinar el valor correcto que se debe especificar, vea "Seleccionar un tamaño de asignación" en Grupo especial.
gflags /k +spp 0x10
Gflags responde imprimiendo:
Special Pool set to 0x10
PoolTagOverruns set to 0x1
Current Running Kernel Settings are: 00000000
De nuevo, la solicitud de asignación de grupo especial no es una configuración de marca de kernel y no se refleja en el valor de configuración del kernel.
Además, una solicitud de asignación de grupo especial no cambia el valor de la configuración de saturación (0x1) ni de ejecución (0x0) para un grupo especial. Para cambiar de saturaciones, el valor predeterminado, a subejecuciones, use el cuadro de diálogo Gflags. Para obtener información, consulte Detección de saturaciones y subrunes.
Solicitar grupo especial por tamaño en el registro
El comando siguiente solicita un grupo especial para las asignaciones de 1024 a 1040 bytes en un equipo x64 con una PAGE_SIZE de 0x1000 y granularidad de asignación de 16 bytes.
Este comando usa el parámetro /r para especificar una configuración del Registro para todo el sistema y la abreviatura +spp para establecer una solicitud de grupo especial. El valor de tamaño va precedido por 0x para indicar que es un tamaño y no una etiqueta de grupo.
El valor, 0x420, se calcula agregando la granularidad de asignación (16 bytes) al tamaño más grande del intervalo (1040 bytes) para un total de 1056 bytes (0x420). Para obtener ayuda para determinar el valor correcto que se debe especificar, vea "Seleccionar un tamaño de asignación" en Grupo especial.
gflags /r +spp 0x420
Gflags responde imprimiendo:
Special Pool set to 0x420
PoolTagOverruns set to 0x1
Current Boot Registry Settings are: 00000000
De nuevo, la solicitud de asignación de grupo especial no es una configuración de marca del Registro y no se refleja en el valor de configuración del Registro.
Además, una solicitud de asignación de grupo especial no cambia el valor de la configuración de saturación (0x1) ni de ejecución (0x0) para un grupo especial. Para cambiar de saturaciones, el valor predeterminado, a subejecuciones, use el cuadro de diálogo Gflags. Para obtener información, consulte Detección de saturaciones y subrunes.
Para comprobar que el valor se ha agregado al Registro, use Reg o Regedit para mostrar el valor de la entrada PoolTag en la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management .
Por ejemplo:
c:>reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -v PoolTag
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
PoolTag REG_DWORD 0x420
Cancelar una solicitud de grupo especial
El siguiente comando cancela una solicitud de grupo especial como una configuración de marca de kernel (tiempo de ejecución). El comando es el mismo para una solicitud por etiqueta de grupo o por tamaño.
gflags /k -spp
El siguiente comando cancela una solicitud de grupo especial como configuración del Registro. El comando es el mismo para una solicitud por etiqueta de grupo o por tamaño.
gflags /r -spp
Cuando el comando se realiza correctamente, Gflags responde imprimiendo:
Special Pool value has been deleted.