STEAM GROUP
Steam Client Beta SteamBeta
STEAM GROUP
Steam Client Beta SteamBeta
24,627
IN-GAME
90,310
ONLINE
Founded
January 8, 2013
All Discussions > Beta Feedback > Topic Details
WereCatf May 2, 2023 @ 12:00am
Steam Client Web Helper memory-leak?
After just a few hours of Steam simply running in the background and me not actively doing anything with it, one of the threads was constantly consuming more CPU than the others and its memory-usage kept rising slowly. Before I restarted Steam, that specific thread was already at 1GiB RAM-usage, which does seem abnormal -- normally the threads do not appear to be using that much even when combined.

I'll try and keep on eye on this, but I'm wondering, if others are noticing anything similar?
< >
Showing 1-15 of 19 comments
WereCatf May 2, 2023 @ 12:53am 
It appears that if I open the Store-tab in Steam, then close the window, the Steam Client Webhelper will continue to process that Store-tab in the background and slowly leak memory, while also eating more CPU than it's supposed to.

Opening e.g. the Downloads-tab before closing the Steam-window, on the other hand, causes Steam Client Webhelper to consume basically nothing.

This is bad design: if the main Steam window is closed, none of the UI should continue to be processed at all. It really should not matter what tab you were viewing, when you closed the window.
p0k314NET May 2, 2023 @ 1:53am 
Interesting find. Are you sure about this?
WereCatf May 2, 2023 @ 7:42am 
Yes, I tried multiple times, including restarting Steam multiple times.
p0k314NET May 2, 2023 @ 9:14am 
Report it. If you are right it is serious bug. Bit IMHO it doesnt looks like memory leak, more like erroneous release of resources. I noticed something like this with myself as well, but had no evidence that I was right.
Last edited by p0k314NET; May 2, 2023 @ 9:20am
WereCatf May 2, 2023 @ 10:07am 
Originally posted by p0k314NET:
Bit IMHO it doesnt looks like memory leak, more like erroneous release of resources.

That is a memory-leak. A memory-leak is specifically an application not releasing all the memory it allocated and accidentally allocating more, like e.g. you call malloc() at the start of a function, but then the function fails to call free() on the allocated memory, so when the function is called the next time, it'll now malloc() even more memory that never gets released.
p0k314NET May 2, 2023 @ 11:07am 
Originally posted by WereCatf:
Originally posted by p0k314NET:
Bit IMHO it doesnt looks like memory leak, more like erroneous release of resources.

That is a memory-leak. A memory-leak is specifically an application not releasing all the memory it allocated and accidentally allocating more, like e.g. you call malloc() at the start of a function, but then the function fails to call free() on the allocated memory, so when the function is called the next time, it'll now malloc() even more memory that never gets released.

Not exactly. A memory leak is when the programme/procedure goes outside the declared area. That's why it's called this way. IMHO in this case, rather, the programme is still processing something in the background, although it should no longer be doing so because the user has terminated the action - however, the programme does not know it. But I can be wrong, in any case, I do not see on my system typical memory leak situation. This is easy to check. A memory leak is slow but infinite, while improperly releasing resources reaches a certain limit and stop. You can do it and send feedback - leave Steam on for a few hours and you will have a clear situation.
Last edited by p0k314NET; May 2, 2023 @ 11:16am
RiO May 2, 2023 @ 11:34am 
Originally posted by p0k314NET:
Not exactly. A memory leak is when the programme/procedure goes outside the declared area.

No. When a program tries to access memory that is not allocated to it, that is called a segmentation fault. As in: it violates the segmentation between the process's own memory space and that of other processes; the memory allocated to the kernel; or free unallocated memory.

Windows calls this a general protection fault instead.
Which led to the horribly dated cringe meme that "general protection fault caused a kernel error in private use area."



A memory leak is when a process asks the OS to allocate memory for it; and then rather than return the memory to the OS when it's done with it, just drops all references to the allocated memory instead and doesn't bother to return it to the OS.

Therefore, it leaks memory from the total pool of RAM that the OS can loan out to user-mode processes, which under normally performing processes is considered a zero-sum closed circuit. And that leak can slowly trickle until the pool is empty or the process has taken the maximum the OS allows.

Of course; when the process that took all that memory is shut down then under most cases there's a fail-safe that results in it being returned. (There are - or at least used to be - edge cases to semi-permanently orphan the memory. That is: until the entire OS is restarted.)
Last edited by RiO; May 2, 2023 @ 11:42am
p0k314NET May 2, 2023 @ 1:28pm 
I see it a bit differently: it's a loss of control by the program/process/procedure over the memory being handled, not just a lack of release (as direct reason), but more importantly, a lack of 'awareness' of its use. A loss of contact with a certain area of reserved memory.

BTW: Tomorrow I will check it again myself on Steam and write feedback.
Last edited by p0k314NET; May 2, 2023 @ 1:33pm
WereCatf May 2, 2023 @ 1:34pm 
Originally posted by p0k314NET:
Originally posted by WereCatf:

That is a memory-leak. A memory-leak is specifically an application not releasing all the memory it allocated and accidentally allocating more, like e.g. you call malloc() at the start of a function, but then the function fails to call free() on the allocated memory, so when the function is called the next time, it'll now malloc() even more memory that never gets released.

Not exactly. A memory leak is when the programme/procedure goes outside the declared area.

It really isn't. I am a programmer, I know what I am talking about, but since you clearly do not believe what you're being told, see e.g. https://en.wikipedia.org/wiki/Memory_leak :

"In computer science, a memory leak is a type of resource leak that occurs when a computer program incorrectly manages memory allocations[1] in a way that memory which is no longer needed is not released. A memory leak may also happen when an object is stored in memory but cannot be accessed by the running code (i.e. unreachable memory).[2]"

The term "memory-leak" was coined already decades ago, you're just trying to redefine it.
p0k314NET May 5, 2023 @ 12:03am 
I checked situation, samples from the first hour of app operation (summary data from main and child process):

name, CPU, memory working set, memory private bytes, I/O total rate

*Steam Client Beta Update: May 1st
steam.exe, 0,97, 805,3 MB, 653,87 MB, , Steam,
steam.exe, 0,57, 805,07 MB, 654,25 MB, 59 B/s, Steam,
steam.exe, 0,50, 805,48 MB, 654,68 MB, , Steam,
steam.exe, 0,59, 805,54 MB, 654,61 MB, , Steam,
steam.exe, 0,42, 805,7 MB, 654,93 MB, 59 B/s, Steam,

*Steam Client Beta Update: May 2nd
steam.exe, 0,31, 886,3 MB, 776,41 MB, 1,09 kB/s, Steam,
steam.exe, 1,00, 833,38 MB, 724,53 MB, 5,11 kB/s, Steam,
steam.exe, 0,37, 834,58 MB, 704,22 MB, 544 B/s, Steam,
steam.exe, 0,36, 833,44 MB, 690,34 MB, , Steam,
steam.exe, 0,60, 824,34 MB, 688,32 MB, , Steam,

*Steam Client Beta - May 4th
steam.exe, 0,57, 900,45 MB, 770,31 MB, , Steam,
steam.exe, 0,86, 905,93 MB, 811,32 MB, 4,93 kB/s, Steam,
steam.exe, 0,70, 837,77 MB, 700,29 MB, , Steam,
steam.exe, 0,41, 823,39 MB, 715,05 MB, 1,14 kB/s, Steam,
steam.exe, 0,58, 818,11 MB, 710,58 MB, , Steam,

UPDATE after run Elden Ring:
steam.exe, 0,57, 1,71 GB, 1,26 GB, , , Steam
One of steamwebhelpers 890,04 MB (!)
It is stable usage, not going up, no going down, but it hurts!

So NO memory leak on my system, and NO additional activity on background, except typical for this kind of software and framework (so I was mistake here).

Software look very stable, at least on my system, but memory usage for, in theory, simple game launcher is... IMHO absurd.
Last edited by p0k314NET; May 5, 2023 @ 4:47am
Steven Seagull May 12, 2023 @ 1:29pm 
Originally posted by WereCatf:
one of the threads was constantly consuming more CPU than the others and its memory-usage kept rising slowly. Before I restarted Steam, that specific thread was already at 1GiB RAM-usage, which does seem abnormal -- normally the threads do not appear to be using that much even when combined.

I guess you wanted to say "processes" instead of "threads".
Reignhardt May 12, 2023 @ 1:35pm 
I can confirm that I have seen memory rise over time and it does not appear to release back to launch levels after closing all windows, games, overlays.
Steven Seagull May 15, 2023 @ 12:46am 
Originally posted by EternalGaia:
Beta: https://i.imgur.com/crnS0zZ.png
Old: https://i.imgur.com/9ngWL6l.png

Just doing nothing
On the "old" picture where Steam shows as 350MB: that could be much more, you just cannot see the rest because you haven't ordered it by memory usage.
EternalGaia May 15, 2023 @ 8:26am 
Originally posted by Steven Seagull:
Originally posted by EternalGaia:
Beta: https://i.imgur.com/crnS0zZ.png
Old: https://i.imgur.com/9ngWL6l.png

Just doing nothing
On the "old" picture where Steam shows as 350MB: that could be much more, you just cannot see the rest because you haven't ordered it by memory usage.

https://i.imgur.com/sTAsypO.png
< >
Showing 1-15 of 19 comments
Per page: 1530 50

All Discussions > Beta Feedback > Topic Details
Date Posted: May 2, 2023 @ 12:00am
Posts: 19