Devemos considerar a remoção das seguintes variáveis:
PS> gv Max*Count
Name Value
---- -----
MaximumAliasCount 4096
MaximumDriveCount 4096
MaximumErrorCount 256
MaximumFunctionCount 4096
MaximumHistoryCount 4096
MaximumVariableCount 4096
Eles realmente não protegem o usuário de nada (é fácil usar a memória de muitas outras maneiras) e bloqueiam alguns usos válidos, por exemplo, se você adicionar> 4096 funções em InitialSessionState
, as funções extras serão silenciosas ignorado - e não há uma boa maneira de aumentar esse limite até que o espaço de execução seja aberto.
Concordou. Prefiro ver um comando de "relatório" consolidado que me diga quantos de cada eu tenho (ainda melhor se pudesse exibir o footprint da memória). No caso de eu precisar depurar uma situação em que muita memória é usada para / por algo. Mas mesmo sem isso, sim, eu ficaria bem em removê-los.
É uma ideia muito boa.
Tenho algumas dúvidas sobre a remoção de MaximumErrorCount
. É muito diferente
dos outros e algum limite faz sentido. Pode haver muitos erros em
alguns casos. Isso é ruim para processos de longa execução. Os desenvolvedores devem manter
lembre-se que a memória pode vazar por meio de erros e cuidado com isso. Por quê?
Além disso, quando os erros realmente precisam ser coletados e analisados, o uso de
-ErrorVariable
parâmetro
$Error
que também pode conter erros de ruído. -ErrorVariable
é ilimitado.
A remoção da variável max
value não significa que a coleção de erros ainda não pode ser limitada a um tamanho máximo de 256. Acho que a questão neste caso é - does anybody ever change (increase) that value
? Não posso dizer que já fiz isso em mais de 10 anos de uso do PowerShell.
Comentários muito úteis
É uma ideia muito boa.
Tenho algumas dúvidas sobre a remoção de
MaximumErrorCount
. É muito diferentedos outros e algum limite faz sentido. Pode haver muitos erros em
alguns casos. Isso é ruim para processos de longa execução. Os desenvolvedores devem manter
lembre-se que a memória pode vazar por meio de erros e cuidado com isso. Por quê?
Além disso, quando os erros realmente precisam ser coletados e analisados, o uso de
-ErrorVariable
parâmetro$Error
que também pode conter erros de ruído.-ErrorVariable
é ilimitado.