Wie misst man den Speicherverbrauch eines Threads in C#?Messen des Speicherverbrauchs eines Threads
Das Szenario, das ich betrachte ist, dass ein Programm versucht, einige harte Suchprobleme zu lösen, es startet einen Thread, um nach einer Lösung für eine von ihnen zu suchen, der Thread läuft für eine Weile, vielleicht findet es eine Lösung, oder vielleicht läuft es über seine Speichererlaubnis und schlägt daher fehl. Aber um das zu implementieren, muss man herausfinden, wie viel Speicher der Thread (im Gegensatz zum gesamten Prozess) verwendet. Gibt es eine Möglichkeit, das zu tun?
Richtig, um zu verdeutlichen, ist der Grund für hohen Speicherverbrauch kein Fehler im Programm, sondern inhärent in der Natur des Versuchs, Probleme zu lösen, z. Theorem Beweisen, wo die bekanntesten Algorithmen eine große Menge an Speicher für einige kleinere Problem-Instanzen verbrauchen. Aber wenn es keinen Weg gibt, es zu tun, dann gibt es keinen Weg. Vielleicht sollte ich stattdessen getrennte Prozesse ausführen. – rwallace