I wrote an application that combines several threads, each of which reads several MB of memory. Then each stream connects to the Internet and downloads data. this happens thousands of times and each download takes some time
I see a situation where (checked with windbg / sos and! Dumpheap) that bytes [] are not collected automatically, as a result of which 100 / 150MB of memory is reported in the task manager
if I call System.GC.Collect (), I see a huge drop in memory, a drop of more than 100 MB
I do not like to call System.GC.Collect (), and my computer has a lot of free memory. however, if someone looks at the TaskManager, they will be worried, thinking that my application is running badly.
advice?
source
share