gnome-shell-extension-system-monitor icon indicating copy to clipboard operation
gnome-shell-extension-system-monitor copied to clipboard

Possible memory leak

Open CubeTheThird opened this issue 7 years ago • 9 comments

I've been experiencing memory issues with the gnome-shell process, reaching upwards of 1GB over time, and it appears to mostly occur when this extension is enabled (memory does increase without it, but not nearly to that degree). I don't know of a way to obtain memory usage statistics for a specific extension, but will provide logs/reports/etc with some guidance.

CubeTheThird avatar Nov 26 '17 19:11 CubeTheThird

As Gnome developers said, the Gnome Shell is single threaded, so you can't tell the memory usage of individual extensions externally (e.g. by top command).

The extension reads various files to compute the resource statistics. Each file has an object in the code, but it is re-used for each read operations. Previously there was a bug when a new file object is created before read operations.

elvetemedve avatar Nov 27 '17 15:11 elvetemedve

Thank you for the information. To clarify, when you refer to a bug, is this in the extension, or in Gnome Shell itself?

CubeTheThird avatar Nov 28 '17 00:11 CubeTheThird

There was a fault in the extension.

I started to watch the gnome-shell process and I see that the used amount of RAM increases over time. So it looks like you are right about the memory leak. I will try to figure out what's wrong this week.

elvetemedve avatar Nov 28 '17 12:11 elvetemedve

@CubeTheThird Can you tell which version of Gnome do you have?

I did some experiment to find memory leaks in the extension code, but it seems like JS code itself is leaking memory. I replaced the statistic collecting part of the code by returning fake data, but the increasing memory usage still occurred. I haven't spotted any obvious bug in this simplified code.

However I accidentally spotted another memory leak. Here is how my tests scenario looked like:

  • Environment: Gnome Shell version: 3.26.2 GJS version: 1.50.2 Gnome System Monitor version: 3.26.0+1+g97b9578d Gnome Tweak Tool version: 3.26.3
  • Setup: I turned off all the extensions, restarted Gnome Shell. After that started the System Monitor application (which comes with Gnome) and filtered the processes for gnome-shell. Finally I run Tweak Tool.
  • Test: Switch between Network Monitor's window and Tweak Tool's window by pressing Alt + Tab multiple times.
  • Result: The memory usage of the gnome-shell process incremented by 0.5-1 MB after each cycle.

The conslusion from this is that there must be a memory leak in Gnome Shell itself (or other components), since I managed to increase memory by using two Gnome made application without any extensions enabled. Similar bug is also reported upstream.

So I'm afraid that at the moment I can't do too much about fixing it.

elvetemedve avatar Dec 03 '17 22:12 elvetemedve

I have the same versions for all applications as yourself, and I do indeed witness the memory leak as you describe. I do also feel that the rate at which the memory increases with this extension enabled is significantly higher, however it is indeed possible that this is caused by an issue with gnome-shell itself. I will notify if any changes occur with the latest version released on the Arch repositories, to which I have yet to update.

CubeTheThird avatar Dec 04 '17 03:12 CubeTheThird

There is a discussion going on about a Gnome Shell related bug. So far it confirmed my theory of something wrong with Javascript garbage collector.

elvetemedve avatar Mar 07 '18 23:03 elvetemedve

Memory usage has been improved since Gnome Shell 3.30.

@CubeTheThird Could you upgrade Gnome to 3.30.0 or later and do some testing to see if you still experience this problem? (As for me the gnome-shell process consumes around 130 MB of RAM after half a day of usage, which is very good.)

elvetemedve avatar Sep 26 '18 13:09 elvetemedve

Thanks for the update. I've already upgraded Gnome Shell, so I will re-enable the extension and test.

CubeTheThird avatar Sep 27 '18 01:09 CubeTheThird

While I haven't been taking detailed notes, there does still appear to be an increase in memory footprint. What I have also noticed though, and I am not familiar enough with the environment to know if it is coincidence, is that the memory usage seemed to have also increased with the extension disabled, though not uninstalled.

CubeTheThird avatar Oct 31 '18 00:10 CubeTheThird