Deberíamos considerar eliminar las siguientes variables:
PS> gv Max*Count
Name Value
---- -----
MaximumAliasCount 4096
MaximumDriveCount 4096
MaximumErrorCount 256
MaximumFunctionCount 4096
MaximumHistoryCount 4096
MaximumVariableCount 4096
En realidad, no protegen al usuario de nada (es fácil usar la memoria de muchas otras formas) y bloquean algunos usos válidos, por ejemplo, si agrega> 4096 funciones en InitialSessionState
, las funciones adicionales serán silenciosas ignorado, y no hay una buena manera de aumentar ese límite hasta después de que el espacio de ejecución esté abierto.
Acordado. Prefiero ver un comando de "informes" consolidado que me diga cuántos de cada uno tengo (incluso mejor si pudiera mostrar la huella de memoria). En caso de que necesite depurar una situación en la que se usa demasiada memoria para / por algo. Pero incluso sin eso, sí, estaría bien eliminándolos.
Es una muy buena idea.
Tengo algunas dudas sobre la eliminación de MaximumErrorCount
. Es muy diferente
de los demás y algún límite tiene sentido. Puede haber muchos errores en
algunos casos. Esto es malo para los procesos de larga ejecución. Los desarrolladores deben mantener
Tenga en cuenta que la memoria puede filtrarse por errores y cuidado de esto. ¿Por qué?
Además, cuando los errores realmente deben recopilarse y analizarse, el uso de
-ErrorVariable
parámetro para un comando en particular es mejor que el uso de
$Error
que también puede contener errores de ruido. -ErrorVariable
es ilimitado.
Eliminar la variable de valor max
no significa que la colección de errores aún no se pueda limitar a un tamaño máximo de 256. Supongo que la pregunta en este caso es - does anybody ever change (increase) that value
? No puedo decir que haya hecho eso en más de 10 años usando PowerShell.
Comentario más útil
Es una muy buena idea.
Tengo algunas dudas sobre la eliminación de
MaximumErrorCount
. Es muy diferentede los demás y algún límite tiene sentido. Puede haber muchos errores en
algunos casos. Esto es malo para los procesos de larga ejecución. Los desarrolladores deben mantener
Tenga en cuenta que la memoria puede filtrarse por errores y cuidado de esto. ¿Por qué?
Además, cuando los errores realmente deben recopilarse y analizarse, el uso de
-ErrorVariable
parámetro para un comando en particular es mejor que el uso de$Error
que también puede contener errores de ruido.-ErrorVariable
es ilimitado.