home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 1
MediaPortal 1 Talk
Memory leak in TVService
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Brownard" data-source="post: 1285958" data-attributes="member: 48291"><p>As a general note on this, if GC.Collect were to resolve the issue then it's not a true memory leak as the GC only collects managed objects that the runtime can see are no longer being referenced, as oppose to either unmanaged memory being allocated outside of the runtime which the GC doesn't touch either way, or a lot of objects accumulating with a stray reference keeping them alive, which again the GC wouldn't touch because they are still referenced. The GC is highly optimised to handle memory management and will collect when memory pressure gets too high long before the process runs out of memory, so it is extremely unlikely to be a case of the GC not collecting soon enough, especially over the timespans we're looking at here, and is much more likely to be one of the other options (either unmanaged memory somewhere or an ever growing list of objects not being dereferenced). Bar some very exceptional edge cases where you know more than the GC about the lifetime of your objects and the process (which is usually never the case <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite2" alt=";)" title="Wink ;)" loading="lazy" data-shortname=";)" />) manually calling GC.Collect does more harm than good because it messes with it's heuristics.</p></blockquote><p></p>
[QUOTE="Brownard, post: 1285958, member: 48291"] As a general note on this, if GC.Collect were to resolve the issue then it's not a true memory leak as the GC only collects managed objects that the runtime can see are no longer being referenced, as oppose to either unmanaged memory being allocated outside of the runtime which the GC doesn't touch either way, or a lot of objects accumulating with a stray reference keeping them alive, which again the GC wouldn't touch because they are still referenced. The GC is highly optimised to handle memory management and will collect when memory pressure gets too high long before the process runs out of memory, so it is extremely unlikely to be a case of the GC not collecting soon enough, especially over the timespans we're looking at here, and is much more likely to be one of the other options (either unmanaged memory somewhere or an ever growing list of objects not being dereferenced). Bar some very exceptional edge cases where you know more than the GC about the lifetime of your objects and the process (which is usually never the case ;)) manually calling GC.Collect does more harm than good because it messes with it's heuristics. [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 1
MediaPortal 1 Talk
Memory leak in TVService
Contact us
RSS
Top
Bottom