Ok, somewhat good news.  I have been watching the memory usage on the
machine as many applications start / stop , and am tracking the growth
and management.

A tool to tweak the behavior ---
One system parameter I had tweaked before reporting this issue was 
vm.swappiness , I had moved this down to 30, mostly because I'd like to get the 
best performance, while avoiding the use of swap space.  it had the intened 
effect, while using almost all available memory - generally a good thing (why 
have all this memory if you're not using it, right?).

Now, i've moved this back up to 60 (which I believe is the default for
the kernel options).  In response I am seeing better free-memory
management from the kernel.  The downside is that I am absolutely seeing
lower performance on and across web-pages and other applications as swap
is used a bit more.  The difference is measured in fractions of a
second, I could measure the difference but I'm not sure if this audience
would like to see those details (let me know if this is interesting).

For those at home --  edit:  /etc/sysctl.conf    , modify or add the
parameter 'vm.swappiness = 60' and then on your terminal run 'sysctl
-p'.

I mention this on this bug thread because this parameter directly
effects the OOM killer behavior because the OOM killer appears to be
swapiness un-aware, and this is also the underlying behavior modifier
for the Chrome threads, and the Flatpak or gnome-software threads as
they grow in size.  I will continue to monitor for gnome-software
threads and memory usage, but this means the heavier memory usage is
effectively hidden by worse offenders (chrome likely being one of the
heaviest users for us all).


On Chrome -- 
Since Chrome is doing so much lately to manage their own threads, I hope this 
kerenel tuning parameter is kept in mind for memory management, it could save 
the team a lot of time building their own memory management utility/toolchain.  
There might even be some kind of alert / capability for the kernel to respond 
differently to certain applications depending on how aggressive they would like 
their own userspace managed.  (Kerenel development feature!)


One gnome-software --
I will keep tabs on the Flatpak memory usage.  In the mean time I have disabled 
snapd entirely.  I don't wish to manage my applications like this.  Apt is 
about as far as I want to go now, the interactions of many different pakage 
managers adds a lot of complexity.  I want to incentivize application 
develoeprs to use as few packaging systems as possible.  It's getting quite bad 
out there - there's are now whole businesses that have sprung up to convert the 
same binaries into different packaging formats and their dependencies.  It's 
really got to stop, it's such a waste of time and resources to 're-invent the 
wheel'.


On the root cause -- 
I would much prefer that we encourage developers to build statically compiled 
binaries, rather than build containers upon containers to manage what I see as 
effectively a problem stemming from resource sharing linked to library 
(mis)management.


I hope this is helpful to development here and across kernel
development.  I will continue to provide meaningful feedback as much as
possible.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gnome-software in Ubuntu.
https://bugs.launchpad.net/bugs/2006070

Title:
  incredibly high memory usage

Status in GNOME Software:
  Unknown
Status in gnome-software package in Ubuntu:
  Incomplete

Bug description:
  
  Please describe the issue you’re experiencing:
  gnome-software is consuming 6+ GB of RAM on my machine.  This is unacceptable 
and is affecting all other applications.
  Error message appearing in /var/log/syslog
  N/A -- other processes are fighting for memory, and OOM killer is more active.
  What Linux distribution are you using, and what kind of package (RPM, deb, 
flatpak, etc.) are you experiencing the problem with?
  Ubuntu 22.10
  apt
  flatpak

  
  I don't know how to replicate this issue, however it does appear to be a 
problem retaining memory.  See LSOF report below,  software is gnome-software 
43.0
   

  
  ```
  sudo lsof -p 750448 -n > ~/ramusage.txt
  cat ramusage.txt | perl -lane 'print "$F[6] $F[0] $F[1] $F[2] $F[3] $F[4] 
$F[5] $F[7] $F[8] $F[9] $F[10]"' | sort -rn > sorted-report.txt
  ```

  
  Top 10 filehandles are holding onto something like 6GB of RAM?!  What's going 
on here ?
  (open filehandles, sorted by bytes):

  ```
    1 157191688 gnome-sof 750448 beadon 11u netlink 0t0 ROUTE
    2 103546882 gnome-sof 750448 beadon DEL REG 259,2 
/usr/share/icons/hicolor/icon-theme.cache
    3 103022860 gnome-sof 750448 beadon DEL REG 259,2 
/usr/share/glib-2.0/schemas/gschemas.compiled
    4 61210892 gnome-sof 750448 beadon DEL REG 259,2 
/var/lib/flatpak/exports/share/icons/hicolor/icon-theme.cache
    5 60828700 gnome-sof 750448 beadon DEL REG 259,2 
/var/cache/fontconfig/2bd0278d-49c2-4c8c-9eea-32d695b22756-le64.cache-7
    6 30430848 gnome-sof 750448 beadon mem REG 259,2 101455545 
/usr/lib/x86_64-linux-gnu/libicudata.so.71.1
    7 14516125 gnome-sof 750448 beadon mem REG 259,2 97416011 
/home/beadon/.cache/gnome-software/flatpak-system-default/components.xmlb
    8 11308392 gnome-sof 750448 beadon mem REG 259,2 101450031 
/usr/lib/x86_64-linux-gnu/librsvg-2.so.2.48.0
    9 8254320 gnome-sof 750448 beadon mem REG 259,2 101450280 
/usr/lib/x86_64-linux-gnu/libgtk-4.so.1.800.1
   10 7599984 gnome-sof 750448 beadon 475u REG 259,2 60821438 
/var/tmp/#60821438 (deleted)
   11 7582821 gnome-sof 750448 beadon 476u REG 259,2 60821485 
/var/tmp/#60821485 (deleted)
   12 6733824 gnome-sof 750448 beadon 478u REG 259,2 60821699 
/var/tmp/#60821699 (deleted)
   13 5966212 gnome-sof 750448 beadon mem REG 259,2 97419097 
/home/beadon/.cache/gnome-software/appstream/components.xmlb
   14 5712208 gnome-sof 750448 beadon mem REG 259,2 101450114 
/usr/lib/locale/locale-archive
   15 5681431 gnome-sof 750448 beadon 477u REG 259,2 60821584 
/var/tmp/#60821584 (deleted)
   16 5469177 gnome-sof 750448 beadon 482u REG 259,2 60817847 
/var/tmp/#60817847 (deleted)
   17 5406720 gnome-sof 750448 beadon 479u REG 259,2 60821593 
/var/tmp/#60821593 (deleted)
   18 5341166 gnome-sof 750448 beadon 493u REG 259,2 60821670 
/var/tmp/#60821670 (deleted)
   19 4616704 gnome-sof 750448 beadon 206u REG 259,2 60819152 
/var/tmp/#60819152 (deleted)
   20 4519958 gnome-sof 750448 beadon 497u REG 259,2 60821824 
/var/tmp/#60821824 (deleted)
  ```

  Details:
  
[sorted-report.txt](/uploads/43c17fb8547366c33c3e49931a5a07b7/sorted-report.txt)

  ProblemType: Bug
  DistroRelease: Ubuntu 22.10
  Package: xorg 1:7.7+23ubuntu2
  ProcVersionSignature: Ubuntu 5.19.0-29.30-generic 5.19.17
  Uname: Linux 5.19.0-29-generic x86_64
  ApportVersion: 2.23.1-0ubuntu3
  Architecture: amd64
  BootLog:
   
  CasperMD5CheckResult: pass
  CompositorRunning: None
  CurrentDesktop: ubuntu:GNOME
  Date: Sun Feb  5 20:06:15 2023
  DistUpgraded: 2023-01-14 21:42:30,924 DEBUG Running PostInstallScript: 
'/usr/lib/ubuntu-advantage/upgrade_lts_contract.py'
  DistroCodename: kinetic
  DistroVariant: ubuntu
  DkmsStatus:
   8812au/5.6.4.2_35491.20191025, 5.15.0-58-generic, x86_64: installed
   8812au/5.6.4.2_35491.20191025, 5.19.0-29-generic, x86_64: installed
   nvidia/525.78.01, 5.19.0-29-generic, x86_64: installed
   virtualbox/6.1.38, 5.15.0-58-generic, x86_64: installed
   virtualbox/6.1.38, 5.19.0-29-generic, x86_64: installed
  ExtraDebuggingInterest: Yes, including running git bisection searches
  GraphicsCard:
   Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] [8086:9a49] (rev 01) 
(prog-if 00 [VGA controller])
     Subsystem: Lenovo TigerLake-LP GT2 [Iris Xe Graphics] [17aa:22d4]
  InstallationDate: Installed on 2023-01-09 (27 days ago)
  InstallationMedia: Ubuntu 22.04.1 LTS "Jammy Jellyfish" - Release amd64 
(20220809.1)
  MachineType: LENOVO 20XY0027US
  ProcEnviron:
   TERM=xterm-256color
   PATH=(custom, no user)
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.19.0-29-generic 
root=UUID=1cae8af8-977f-4853-9106-9169f34c4bc2 ro quiet splash vt.handoff=7
  SourcePackage: xorg
  Symptom: display
  UpgradeStatus: Upgraded to kinetic on 2023-01-15 (21 days ago)
  dmi.bios.date: 12/05/2022
  dmi.bios.release: 1.58
  dmi.bios.vendor: LENOVO
  dmi.bios.version: N32ET82W (1.58 )
  dmi.board.asset.tag: Not Available
  dmi.board.name: 20XY0027US
  dmi.board.vendor: LENOVO
  dmi.board.version: SDK0J40697 WIN
  dmi.chassis.asset.tag: No Asset Information
  dmi.chassis.type: 31
  dmi.chassis.vendor: LENOVO
  dmi.chassis.version: None
  dmi.ec.firmware.release: 1.33
  dmi.modalias: 
dmi:bvnLENOVO:bvrN32ET82W(1.58):bd12/05/2022:br1.58:efr1.33:svnLENOVO:pn20XY0027US:pvrThinkPadX1YogaGen6:rvnLENOVO:rn20XY0027US:rvrSDK0J40697WIN:cvnLENOVO:ct31:cvrNone:skuLENOVO_MT_20XY_BU_Think_FM_ThinkPadX1YogaGen6:
  dmi.product.family: ThinkPad X1 Yoga Gen 6
  dmi.product.name: 20XY0027US
  dmi.product.sku: LENOVO_MT_20XY_BU_Think_FM_ThinkPad X1 Yoga Gen 6
  dmi.product.version: ThinkPad X1 Yoga Gen 6
  dmi.sys.vendor: LENOVO
  version.compiz: compiz N/A
  version.libdrm2: libdrm2 2.4.113-2
  version.libgl1-mesa-dri: libgl1-mesa-dri 22.2.5-0ubuntu0.1
  version.libgl1-mesa-glx: libgl1-mesa-glx 22.2.5-0ubuntu0.1
  version.xserver-xorg-core: xserver-xorg-core 2:21.1.4-2ubuntu1.4
  version.xserver-xorg-input-evdev: xserver-xorg-input-evdev N/A
  version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:19.1.0-3
  version.xserver-xorg-video-intel: xserver-xorg-video-intel 
2:2.99.917+git20210115-1
  version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 
1:1.0.17-2build1

To manage notifications about this bug go to:
https://bugs.launchpad.net/gnome-software/+bug/2006070/+subscriptions


-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to