Powershell: La prise en charge de $ MaximumFunctionCount et d'autres limites doit être supprimée

Créé le 10 sept. 2016  ·  3Commentaires  ·  Source: PowerShell/PowerShell

Nous devrions envisager de supprimer les variables suivantes:

PS> gv Max*Count

Name                           Value
----                           -----
MaximumAliasCount              4096
MaximumDriveCount              4096
MaximumErrorCount              256
MaximumFunctionCount           4096
MaximumHistoryCount            4096
MaximumVariableCount           4096

Ils ne protègent pas vraiment l'utilisateur de quoi que ce soit (il est facile d'utiliser la mémoire de bien d'autres façons) et ils bloquent certaines utilisations valides, par exemple si vous ajoutez> 4096 fonctions dans InitialSessionState , les fonctions supplémentaires seront silencieusement ignoré - et il n'y a pas de bon moyen d'augmenter cette limite tant que l'espace d'exécution n'est pas ouvert.

Issue-Bug WG-Engine WG-Language

Commentaire le plus utile

C'est une très bonne idée.

J'ai des doutes sur la suppression de MaximumErrorCount . C'est très différent
des autres et certaines limites ont du sens. Il peut y avoir beaucoup d'erreurs dans
certains cas. C'est mauvais pour les processus de longue durée. Les développeurs doivent garder
à l'esprit que la mémoire peut fuir via des erreurs et faites attention à cela. Pourquoi?

En outre, lorsque des erreurs doivent vraiment être collectées et analysées, l'utilisation de
-ErrorVariable paramètre
$Error qui peut également contenir des erreurs de bruit. -ErrorVariable est illimité.

Tous les 3 commentaires

Convenu. Je préfère de beaucoup voir une commande "reporting" consolidée qui me dit combien de chaque j'ai (encore mieux si elle pouvait afficher l'empreinte mémoire). Au cas où je devrais déboguer une situation où trop de mémoire est utilisée pour / par quelque chose. Mais même sans cela, oui, je serais d'accord pour les supprimer.

C'est une très bonne idée.

J'ai des doutes sur la suppression de MaximumErrorCount . C'est très différent
des autres et certaines limites ont du sens. Il peut y avoir beaucoup d'erreurs dans
certains cas. C'est mauvais pour les processus de longue durée. Les développeurs doivent garder
à l'esprit que la mémoire peut fuir via des erreurs et faites attention à cela. Pourquoi?

En outre, lorsque des erreurs doivent vraiment être collectées et analysées, l'utilisation de
-ErrorVariable paramètre
$Error qui peut également contenir des erreurs de bruit. -ErrorVariable est illimité.

La suppression de la variable de valeur max ne signifie pas que la collection d'erreurs ne peut toujours pas être plafonnée à une taille maximale de 256. Je suppose que la question dans ce cas est - does anybody ever change (increase) that value ? Je ne peux pas dire que j'ai déjà fait cela en plus de 10 ans d'utilisation de PowerShell.

Cette page vous a été utile?
0 / 5 - 0 notes