You are not logged in.

#1 2024-10-09 20:43:09

arh
Member
Registered: 2024-10-09
Posts: 11

[solved] memory leak or am i just missing something?

hi~
recently i noticed my memory usage rising up far past the usual levels. i usually don't get past 25% but now in under a day after closing all open windows i'm at 40-50% and it's not going down consistently. i'm using i3wm 4.23-4 with picom 12.1-3 and ly 1.0.2-1 as my display manager.

neither top nor ps seemingly show what's hogging all the memory (unless i'm missing something?) but it looks like it's actually used and not just cache.

$ free -h
               total        used        free      shared  buff/cache   available
Mem:            15Gi       6.3Gi       6.3Gi        38Mi       2.7Gi       8.7Gi
Swap:          8.0Gi          0B       8.0Gi
$ ps aux --sort -%mem
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
arh          701  1.1  2.1 1422288 339876 tty2   Sl+  00:30  15:17 /usr/lib/Xorg :0 vt2
arh          855  0.0  0.6 1596876 95740 ?       Ssl  00:30   0:05 alacritty
arh          732  0.0  0.4 1363776 67080 ?       SLsl 00:30   0:06 nm-applet
root         406  0.0  0.3  89724 50332 ?        Ss   00:30   0:01 /usr/lib/systemd/systemd-journald
arh          737  0.0  0.2 338196 46332 ?        Ssl  00:30   0:18 fcitx5
arh          715  0.0  0.2 132760 43128 tty2     Sl+  00:30   0:06 i3
arh          736  0.0  0.2 996572 33820 ?        Ssl  00:30   0:00 /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
arh          734  0.0  0.2 867096 33480 ?        Ssl  00:30   1:06 polybar
arh        12075  0.0  0.1 239236 28216 ?        Tl   20:27   0:00 qalc
root         623  0.0  0.1 692804 24548 ?        Ssl  00:30   0:11 /usr/bin/NetworkManager --no-daemon
arh          848  0.0  0.1 549284 24048 ?        Ssl  00:30   0:01 /usr/bin/dunst
arh          756  0.0  0.1 481828 19596 ?        Ssl  00:30   0:00 /usr/bin/wireplumber
arh         2134  0.0  0.1 432548 18268 ?        Ssl  08:46   0:00 /usr/lib/gvfs-udisks2-volume-monitor
root        2138  0.0  0.1 467988 16412 ?        Ssl  08:46   0:02 /usr/lib/udisks2/udisksd
arh          755  0.0  0.0 102232 14428 ?        Ssl  00:30   0:18 /usr/bin/pipewire
arh         2152  0.0  0.0 544280 13264 ?        Sl   08:46   0:00 /usr/lib/gvfsd-trash --spawner :1.20 /org/gtk/gvfs/exec_spaw/0
root           1  0.0  0.0  21096 12836 ?        Ss   00:30   0:01 /sbin/init
arh        11443  0.0  0.0 396800 12508 ?        Sl   20:17   0:00 /usr/lib/gvfsd-network --spawner :1.20 /org/gtk/gvfs/exec_spaw/1
root         651  0.0  0.0  16408 12120 ?        Ss   00:30   0:03 /usr/bin/wpa_supplicant -u -s -O /run/wpa_supplicant
arh          808  0.0  0.0 322560 12044 ?        Ssl  00:30   0:00 /usr/lib/gvfsd
arh          686  0.0  0.0  19644 11480 ?        Ss   00:30   0:00 /usr/lib/systemd/systemd --user
arh         1647  0.0  0.0 459960 11256 ?        SLsl 08:45   0:00 /usr/bin/gnome-keyring-daemon --foreground --components=pkcs11,secrets --control-directory=/run/user/1000/keyring
arh          758  0.0  0.0  98832 10452 ?        Ssl  00:30   0:00 /usr/bin/pipewire-pulse
arh          733  0.2  0.0  16828 10332 ?        Ss   00:30   3:02 picom
root         473  0.0  0.0  34076 10012 ?        Ss   00:30   0:01 /usr/lib/systemd/systemd-udevd
arh         1646  0.0  0.0 312312  9396 ?        Ssl  08:45   0:00 /usr/bin/gnome-keyring-daemon --start --foreground --components=secrets
polkitd      743  0.0  0.0 381232  9300 ?        Ssl  00:30   0:00 /usr/lib/polkit-1/polkitd --no-debug --log-level=err
arh          877  0.0  0.0  10840  8640 pts/0    Ss   00:30   0:00 /usr/bin/bash
arh          817  0.0  0.0 456776  8356 ?        Sl   00:30   0:00 /usr/lib/gvfsd-fuse /run/user/1000/gvfs -f
arh         2148  0.0  0.0 233716  8348 ?        Ssl  08:46   0:00 /usr/lib/gvfsd-metadata
root         624  0.0  0.0  15236  7956 ?        Ss   00:30   0:00 /usr/lib/systemd/systemd-logind
arh          731  0.0  0.0 339344  7660 ?        Ssl  00:30   0:00 xss-lock --transfer-sleep-lock -- lock.sh --nofork
arh          806  0.0  0.0 232508  7504 ?        Ssl  00:30   0:03 /usr/lib/at-spi2-registryd --use-gnome-session
arh          791  0.0  0.0 379408  7388 ?        Ssl  00:30   0:00 /usr/lib/at-spi-bus-launcher
root         679  0.0  0.0   9212  6068 tty2     S+   00:30   0:00 /usr/bin/ly-dm
root         425  0.0  0.0  14288  5888 ?        Ss   00:30   0:00 /usr/lib/systemd/systemd-userdbd
root       14825  0.0  0.0  14836  5752 ?        S    22:14   0:00 systemd-userwork: waiting...
root       14824  0.0  0.0  14836  5688 ?        S    22:14   0:00 systemd-userwork: waiting...
arh        15003  0.0  0.0   9092  5684 pts/0    R+   22:16   0:00 ps aux --sort -%mem
root       14826  0.0  0.0  14836  5652 ?        S    22:14   0:00 systemd-userwork: waiting...
arh         3253  0.0  0.0 229084  5512 ?        Ssl  09:05   0:00 /usr/lib/dconf-service
arh          695  0.0  0.0   9756  4824 tty2     S+   00:30   0:00 /usr/bin/ly-dm
dbus         621  0.0  0.0   7220  3652 ?        Ss   00:30   0:00 /usr/bin/dbus-broker-launch --scope system --audit
arh          688  0.0  0.0  20448  3620 ?        S    00:30   0:00 (sd-pam)
arh          798  0.0  0.0   6812  3324 ?        S    00:30   0:00 /usr/bin/dbus-broker-launch --config-file=/usr/share/defaults/at-spi2/accessibility.conf --scope user
arh          723  0.0  0.0   6812  3304 ?        Ss   00:30   0:00 /usr/bin/dbus-broker-launch --scope user
dbus         622  0.0  0.0   7068  3228 ?        S    00:30   0:01 dbus-broker --log 4 --controller 9 --machine-id 2eab33510cc4457d846b4f18ccb37baf --max-bytes 536870912 --max-fds 4096 --max
arh          724  0.0  0.0   4844  3128 ?        S    00:30   0:02 dbus-broker --log 4 --controller 10 --machine-id 2eab33510cc4457d846b4f18ccb37baf --max-bytes 100000000000000 --max-fds 250
root         655  0.0  0.0   3896  3032 tty2     Ss+  00:30   0:00 /usr/bin/ly-dm
arh          738  0.0  0.0   4176  2876 ?        Ss   00:30   0:03 xautolock -time 3 -notify 30 -notifier notify-send autolock -locker lock.sh
arh          799  0.0  0.0   4096  2396 ?        S    00:30   0:00 dbus-broker --log 4 --controller 9 --machine-id 2eab33510cc4457d846b4f18ccb37baf --max-bytes 100000000000000 --max-fds 6400
root         654  0.0  0.0   7496  2344 tty1     Ss+  00:30   0:00 /sbin/agetty -o -p -- \u --noclear - linux
root           2  0.0  0.0      0     0 ?        S    00:30   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        S    00:30   0:00 [pool_workqueue_release]
root           4  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-rcu_gp]
root           5  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-sync_wq]
root           6  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-slub_flushwq]
root           7  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-netns]
root          10  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/0:0H-events_highpri]
root          13  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-mm_percpu_wq]
root          14  0.0  0.0      0     0 ?        I    00:30   0:00 [rcu_tasks_kthread]
root          15  0.0  0.0      0     0 ?        I    00:30   0:00 [rcu_tasks_rude_kthread]
root          16  0.0  0.0      0     0 ?        I    00:30   0:00 [rcu_tasks_trace_kthread]
root          17  0.0  0.0      0     0 ?        S    00:30   0:00 [ksoftirqd/0]
root          18  0.0  0.0      0     0 ?        I    00:30   0:08 [rcu_preempt]
root          19  0.0  0.0      0     0 ?        S    00:30   0:00 [rcub/0]
root          20  0.0  0.0      0     0 ?        S    00:30   0:00 [rcu_exp_par_gp_kthread_worker/0]
root          21  0.0  0.0      0     0 ?        S    00:30   0:00 [rcu_exp_gp_kthread_worker]
root          22  0.0  0.0      0     0 ?        S    00:30   0:00 [migration/0]
root          23  0.0  0.0      0     0 ?        S    00:30   0:00 [idle_inject/0]
root          24  0.0  0.0      0     0 ?        S    00:30   0:00 [cpuhp/0]
root          25  0.0  0.0      0     0 ?        S    00:30   0:00 [cpuhp/1]
root          26  0.0  0.0      0     0 ?        S    00:30   0:00 [idle_inject/1]
root          27  0.0  0.0      0     0 ?        S    00:30   0:00 [migration/1]
root          28  0.0  0.0      0     0 ?        S    00:30   0:00 [ksoftirqd/1]
root          30  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/1:0H-events_highpri]
root          31  0.0  0.0      0     0 ?        S    00:30   0:00 [cpuhp/2]
root          32  0.0  0.0      0     0 ?        S    00:30   0:00 [idle_inject/2]
root          33  0.0  0.0      0     0 ?        S    00:30   0:00 [migration/2]
root          34  0.0  0.0      0     0 ?        S    00:30   0:00 [ksoftirqd/2]
root          36  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/2:0H-events_highpri]
root          37  0.0  0.0      0     0 ?        S    00:30   0:00 [cpuhp/3]
root          38  0.0  0.0      0     0 ?        S    00:30   0:00 [idle_inject/3]
root          39  0.0  0.0      0     0 ?        S    00:30   0:00 [migration/3]
root          40  0.0  0.0      0     0 ?        S    00:30   0:00 [ksoftirqd/3]
root          42  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/3:0H-events_highpri]
root          43  0.0  0.0      0     0 ?        S    00:30   0:00 [kdevtmpfs]
root          44  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-inet_frag_wq]
root          45  0.0  0.0      0     0 ?        S    00:30   0:00 [kauditd]
root          46  0.0  0.0      0     0 ?        S    00:30   0:00 [khungtaskd]
root          48  0.0  0.0      0     0 ?        S    00:30   0:00 [oom_reaper]
root          49  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-writeback]
root          50  0.0  0.0      0     0 ?        S    00:30   0:00 [kcompactd0]
root          51  0.0  0.0      0     0 ?        SN   00:30   0:00 [ksmd]
root          52  0.0  0.0      0     0 ?        SN   00:30   0:01 [khugepaged]
root          53  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-kintegrityd]
root          54  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-kblockd]
root          55  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-blkcg_punt_bio]
root          56  0.0  0.0      0     0 ?        S    00:30   0:12 [irq/9-acpi]
root          60  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-tpm_dev_wq]
root          61  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-ata_sff]
root          62  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-edac-poller]
root          63  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-devfreq_wq]
root          64  0.0  0.0      0     0 ?        S    00:30   0:00 [watchdogd]
root          65  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/3:1H-kblockd]
root          66  0.0  0.0      0     0 ?        S    00:30   0:00 [irq/25-AMD-Vi0-Evt]
root          67  0.0  0.0      0     0 ?        S    00:30   0:00 [irq/26-AMD-Vi0-PPR]
root          68  0.0  0.0      0     0 ?        S    00:30   0:00 [irq/27-AMD-Vi0-GA]
root          69  0.0  0.0      0     0 ?        S    00:30   0:00 [kswapd0]
root          70  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-kthrotld]
root          71  0.0  0.0      0     0 ?        S    00:30   0:00 [irq/29-pciehp]
root          72  0.0  0.0      0     0 ?        S    00:30   0:00 [irq/30-pciehp]
root          73  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-acpi_thermal_pm]
root          74  0.0  0.0      0     0 ?        S    00:30   0:04 [hwrng]
root          75  0.0  0.0      0     0 ?        S    00:30   0:00 [scsi_eh_0]
root          76  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-scsi_tmf_0]
root          77  0.0  0.0      0     0 ?        S    00:30   0:00 [scsi_eh_1]
root          78  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-scsi_tmf_1]
root          79  0.0  0.0      0     0 ?        S    00:30   0:00 [scsi_eh_2]
root          80  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-scsi_tmf_2]
root          81  0.0  0.0      0     0 ?        S    00:30   0:00 [scsi_eh_3]
root          82  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-scsi_tmf_3]
root          85  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-mld]
root          87  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-ipv6_addrconf]
root          94  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-kstrp]
root          95  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-zswap-shrink]
root          99  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/0:1H-kblockd]
root         137  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/1:1H-kblockd]
root         164  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/2:1H-kblockd]
root         167  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-cryptd]
root         168  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-nvme-wq]
root         169  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-nvme-reset-wq]
root         170  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-nvme-delete-wq]
root         171  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-nvme-auth-wq]
root         177  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-amdgpu-reset-dev]
root         178  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-ttm]
root         179  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-amdgpu_dm_hpd_rx_offload_wq]
root         180  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-amdgpu_dm_hpd_rx_offload_wq]
root         181  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-amdgpu_dm_hpd_rx_offload_wq]
root         182  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-amdgpu_dm_hpd_rx_offload_wq]
root         183  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-dm_vblank_control_workqueue]
root         184  0.0  0.0      0     0 ?        S    00:30   0:00 [card1-crtc0]
root         185  0.0  0.0      0     0 ?        S    00:30   0:00 [card1-crtc1]
root         186  0.0  0.0      0     0 ?        S    00:30   0:00 [card1-crtc2]
root         187  0.0  0.0      0     0 ?        S    00:30   0:00 [card1-crtc3]
root         316  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-kdmflush/254:0]
root         320  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-kcryptd_io-254:0-1]
root         321  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-kcryptd-254:0-1]
root         322  0.0  0.0      0     0 ?        S    00:30   0:00 [dmcrypt_write/254:0]
root         362  0.0  0.0      0     0 ?        S    00:30   0:00 [jbd2/dm-0-8]
root         363  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-ext4-rsv-conversion]
root         438  0.0  0.0      0     0 ?        S    00:30   0:00 [psimon]
root         499  0.0  0.0      0     0 ?        S    00:30   0:00 [psimon]
root         543  0.0  0.0      0     0 ?        S    00:30   0:40 [irq/62-SYNA30AD:00]
root         564  0.0  0.0      0     0 ?        I<   00:30   0:00 [kworker/R-cfg80211]
root         577  0.0  0.0      0     0 ?        S    00:30   0:03 [irq/65-iwlwifi:default_queue]
root         578  0.0  0.0      0     0 ?        S    00:30   0:01 [irq/66-iwlwifi:queue_1]
root         579  0.0  0.0      0     0 ?        S    00:30   0:00 [irq/67-iwlwifi:queue_2]
root         580  0.0  0.0      0     0 ?        S    00:30   0:01 [irq/68-iwlwifi:queue_3]
root         581  0.0  0.0      0     0 ?        S    00:30   0:01 [irq/69-iwlwifi:queue_4]
root         582  0.0  0.0      0     0 ?        S    00:30   0:00 [irq/70-iwlwifi:exception]
root         684  0.0  0.0      0     0 ?        S    00:30   0:00 [psimon]
root       10577  0.1  0.0      0     0 ?        I    20:04   0:09 [kworker/u16:32-kcryptd-254:0-1]
root       11804  0.1  0.0      0     0 ?        D    20:19   0:08 [kworker/u16:1+events_unbound]
root       12658  0.0  0.0      0     0 ?        I    20:44   0:00 [kworker/1:0-events]
root       13475  0.0  0.0      0     0 ?        I    21:04   0:00 [kworker/2:1-cgroup_destroy]
root       13544  0.0  0.0      0     0 ?        I    21:05   0:00 [kworker/0:2-events]
root       13780  0.0  0.0      0     0 ?        I    21:13   0:00 [kworker/1:1]
root       13802  0.1  0.0      0     0 ?        I    21:16   0:04 [kworker/u16:4-kcryptd-254:0-1]
root       13989  0.0  0.0      0     0 ?        I    21:27   0:00 [kworker/2:2-events]
root       14211  0.0  0.0      0     0 ?        I<   21:29   0:00 [kworker/u17:10-ttm]
root       14264  0.0  0.0      0     0 ?        I    21:30   0:00 [kworker/3:1-events]
root       14419  0.0  0.0      0     0 ?        I    21:41   0:00 [kworker/3:0-events]
root       14461  0.0  0.0      0     0 ?        I    21:46   0:00 [kworker/0:3-events]
root       14490  0.0  0.0      0     0 ?        I<   21:51   0:00 [kworker/u17:0-ttm]
root       14504  0.0  0.0      0     0 ?        I<   21:53   0:00 [kworker/u17:2-ttm]
root       14523  0.0  0.0      0     0 ?        I<   21:56   0:00 [kworker/u17:3-ttm]
root       14540  0.0  0.0      0     0 ?        I<   21:57   0:00 [kworker/u17:8-ttm]
root       14613  0.0  0.0      0     0 ?        I    21:57   0:01 [kworker/u16:0-gfx]
root       14617  0.0  0.0      0     0 ?        I<   21:58   0:00 [kworker/u17:9-ttm]
root       14618  0.0  0.0      0     0 ?        I<   21:58   0:00 [kworker/u17:11-ttm]
root       14693  0.1  0.0      0     0 ?        I    22:05   0:00 [kworker/u16:3-events_power_efficient]
root       14710  0.0  0.0      0     0 ?        I    22:08   0:00 [kworker/0:0-rcu_gp]
root       14752  0.0  0.0      0     0 ?        I<   22:10   0:00 [kworker/u17:1-ttm]
root       14774  0.1  0.0      0     0 ?        I    22:10   0:00 [kworker/u16:5-kcryptd-254:0-1]
root       14775  0.0  0.0      0     0 ?        I<   22:10   0:00 [kworker/u17:4-ttm]
root       14776  0.0  0.0      0     0 ?        I<   22:10   0:00 [kworker/u17:5-ttm]
root       14777  0.0  0.0      0     0 ?        I<   22:10   0:00 [kworker/u17:6-ttm]
root       14778  0.0  0.0      0     0 ?        I<   22:10   0:00 [kworker/u17:7-ttm]
root       14779  0.0  0.0      0     0 ?        I<   22:10   0:00 [kworker/u17:12-ttm]
root       14780  0.0  0.0      0     0 ?        I<   22:10   0:00 [kworker/u17:13-ttm]
root       14781  0.0  0.0      0     0 ?        I<   22:10   0:00 [kworker/u17:14-ttm]
root       14782  0.0  0.0      0     0 ?        I<   22:10   0:00 [kworker/u17:15-ttm]
root       14788  0.0  0.0      0     0 ?        I    22:13   0:00 [kworker/0:1-rcu_gp]
root       14793  0.0  0.0      0     0 ?        I    22:14   0:00 [kworker/3:2-events]
root       14794  0.0  0.0      0     0 ?        I<   22:14   0:00 [kworker/u17:16]
root       14977  0.0  0.0      0     0 ?        I    22:16   0:00 [kworker/2:0-rcu_gp]
root       14979  0.0  0.0      0     0 ?        I    22:16   0:00 [kworker/1:2-rcu_gp]
root       14991  0.0  0.0      0     0 ?        I    22:16   0:00 [kworker/u16:2]

another thing i noticed that happened around the same time is that now my picom animation for switching windows takes longer after updating to 12.1-3. i'm not sure if that's related, however killing picom does not help.
if that's not it then i'm not sure what else could it be - the only thing i did besides that is replace firewalld with ufw but i don't think that could be causing this behavior?

any advice on how to debug this? thanks in advance!

edit (2024-11-15): after updating picom to 12.4-1 which is available in the repos now this behavior no longer happens - seems like the real reason was a leak in that picom version.

Last edited by arh (2024-11-15 17:30:13)

Offline

#2 2024-10-09 20:55:09

seth
Member
Registered: 2012-09-03
Posts: 59,084

Offline

#3 2024-10-09 21:08:14

arh
Member
Registered: 2024-10-09
Posts: 11

Re: [solved] memory leak or am i just missing something?

that might be it, i do have an amd gpu. however it did not happen before, this is the first time i'm encountering it. i'll check reclaiming the memory when it happens again.
is there no other known fix to this other than filling up the memory?

Offline

#4 2024-10-09 21:15:08

seth
Member
Registered: 2012-09-03
Posts: 59,084

Re: [solved] memory leak or am i just missing something?

Ideally the RAM gets reclaimed when required, so there's nothing to fix - this started w/ the 6.11 kernel?
Are there any amdgpu related errors in your dmesg/system journal?

Offline

#5 2024-10-09 21:29:04

arh
Member
Registered: 2024-10-09
Posts: 11

Re: [solved] memory leak or am i just missing something?

seth wrote:

Ideally the RAM gets reclaimed when required, so there's nothing to fix - this started w/ the 6.11 kernel?
Are there any amdgpu related errors in your dmesg/system journal?

i noticed it at 6.11.2.arch1-1 but maybe it was in effect sooner, however i'm pretty sure it was not in the earlier kernels (6.9 or before).

i do not see serious errors (that generic failure has been there since day 1 on other systems too) but dmesg has some messages regarding gart and gtt, journal has the same messages as dmesg. (this dmesg was ran after a reboot, currently 15% of memory is in use)

[    4.948375] [drm] amdgpu kernel modesetting enabled.
[    4.950667] amdgpu: Virtual CRAT table created for CPU
[    4.950677] amdgpu: Topology: Add CPU node
[    4.954123] amdgpu 0000:05:00.0: amdgpu: Fetched VBIOS from VFCT
[    4.954126] amdgpu: ATOM BIOS: SWBRT58350.001
[    5.008109] amdgpu 0000:05:00.0: vgaarb: deactivate vga console
[    5.008124] amdgpu 0000:05:00.0: amdgpu: Trusted Memory Zone (TMZ) feature enabled
[    5.008133] amdgpu 0000:05:00.0: amdgpu: MODE2 reset
[    5.008826] amdgpu 0000:05:00.0: amdgpu: VRAM: 512M 0x000000F400000000 - 0x000000F41FFFFFFF (512M used)
[    5.008828] amdgpu 0000:05:00.0: amdgpu: GART: 1024M 0x0000000000000000 - 0x000000003FFFFFFF
[    5.008979] [drm] amdgpu: 512M of VRAM memory ready
[    5.008982] [drm] amdgpu: 7696M of GTT memory ready.
[    5.620570] amdgpu 0000:05:00.0: amdgpu: reserve 0x400000 from 0xf41f800000 for PSP TMR
[    5.702326] amdgpu 0000:05:00.0: amdgpu: RAS: optional ras ta ucode is not available
[    5.710465] amdgpu 0000:05:00.0: amdgpu: RAP: optional rap ta ucode is not available
[    5.714832] amdgpu 0000:05:00.0: amdgpu: psp gfx command LOAD_TA(0x1) failed and response status is (0x7)
[    5.714946] amdgpu 0000:05:00.0: amdgpu: psp gfx command INVOKE_CMD(0x3) failed and response status is (0x4)
[    5.714949] amdgpu 0000:05:00.0: amdgpu: Secure display: Generic Failure.
[    5.714952] amdgpu 0000:05:00.0: amdgpu: SECUREDISPLAY: query securedisplay TA failed. ret 0x0
[    5.716088] amdgpu 0000:05:00.0: amdgpu: SMU is initialized successfully!
[    5.912160] kfd kfd: amdgpu: Allocated 3969056 bytes on gart
[    5.912175] kfd kfd: amdgpu: Total number of KFD nodes to be created: 1
[    5.912276] amdgpu: Virtual CRAT table created for GPU
[    5.912365] amdgpu: Topology: Add dGPU node [0x1636:0x1002]
[    5.912367] kfd kfd: amdgpu: added device 1002:1636
[    5.912375] amdgpu 0000:05:00.0: amdgpu: SE 1, SH per SE 1, CU per SH 8, active_cu_number 5
[    5.912378] amdgpu 0000:05:00.0: amdgpu: ring gfx uses VM inv eng 0 on hub 0
[    5.912379] amdgpu 0000:05:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[    5.912380] amdgpu 0000:05:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[    5.912381] amdgpu 0000:05:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0
[    5.912382] amdgpu 0000:05:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0
[    5.912383] amdgpu 0000:05:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
[    5.912384] amdgpu 0000:05:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
[    5.912384] amdgpu 0000:05:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0
[    5.912385] amdgpu 0000:05:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0
[    5.912386] amdgpu 0000:05:00.0: amdgpu: ring kiq_0.2.1.0 uses VM inv eng 11 on hub 0
[    5.912387] amdgpu 0000:05:00.0: amdgpu: ring sdma0 uses VM inv eng 0 on hub 8
[    5.912388] amdgpu 0000:05:00.0: amdgpu: ring vcn_dec uses VM inv eng 1 on hub 8
[    5.912389] amdgpu 0000:05:00.0: amdgpu: ring vcn_enc0 uses VM inv eng 4 on hub 8
[    5.912390] amdgpu 0000:05:00.0: amdgpu: ring vcn_enc1 uses VM inv eng 5 on hub 8
[    5.912391] amdgpu 0000:05:00.0: amdgpu: ring jpeg_dec uses VM inv eng 6 on hub 8
[    5.917497] amdgpu 0000:05:00.0: amdgpu: Runtime PM not available
[    5.918116] [drm] Initialized amdgpu 3.59.0 for 0000:05:00.0 on minor 1
[    5.923989] fbcon: amdgpudrmfb (fb0) is primary device
[    5.924002] amdgpu 0000:05:00.0: [drm] fb0: amdgpudrmfb frame buffer device
[   12.492940] snd_hda_intel 0000:05:00.1: bound 0000:05:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])

however, the "amdgpu: 7696M of GTT memory ready" and "kfd kfd: amdgpu: Allocated 3969056 bytes on gart" messages appear also on journals from ~100 boots ago on older kernels.

Last edited by arh (2024-10-09 21:32:21)

Offline

#6 2024-10-10 06:58:29

seth
Member
Registered: 2012-09-03
Posts: 59,084

Re: [solved] memory leak or am i just missing something?

Doesn't look like the GPU reset or so.
GTT has always been a thing, that's not surprise.

You want to check whether:
1.  you can actively reclaim the RAM
2. the LTS kernel is also affected

Offline

#7 2024-10-10 14:05:01

arh
Member
Registered: 2024-10-09
Posts: 11

Re: [solved] memory leak or am i just missing something?

seth wrote:

Doesn't look like the GPU reset or so.
GTT has always been a thing, that's not surprise.

You want to check whether:
1.  you can actively reclaim the RAM
2. the LTS kernel is also affected

i will first try reclaiming when it grows next time (later today or perhaps tomorrow).

Offline

#8 2024-10-11 16:18:20

arh
Member
Registered: 2024-10-09
Posts: 11

Re: [solved] memory leak or am i just missing something?

reclaiming the memory works, i was able to get the usage back down to 5-10%.

Offline

#9 2024-10-11 20:45:35

seth
Member
Registered: 2012-09-03
Posts: 59,084

Re: [solved] memory leak or am i just missing something?

\o/

Does it (also) work during the graphical session or do you have to go down to the multi-user or rescue target?
(You'll not be able to reclaim as much since the GUIs might occupy some, but you should be able to get RAM when you need it)

Offline

#10 2024-10-11 21:04:05

arh
Member
Registered: 2024-10-09
Posts: 11

Re: [solved] memory leak or am i just missing something?

seth wrote:

\o/

Does it (also) work during the graphical session or do you have to go down to the multi-user or rescue target?
(You'll not be able to reclaim as much since the GUIs might occupy some, but you should be able to get RAM when you need it)

i just tried it again (still in gui) and it seems i'm actually only able to reclaim it partially - after occupying 15 gigabytes for 20 seconds by

head -c 15000m /dev/zero | tail | sleep 20

i'm still at 3 gb of memory used. my memory usage after booting with nothing open is usually ~480-500 megabytes. but it's much closer to how the system behaved before so that's probably fine.
next time i'll try it without gui by exiting i3 and choosing to open up a shell from the display manager (or do i have to do it even earlier? i'm not really that familiar with targets, but my display manager is not graphical)

Offline

#11 2024-10-11 21:11:11

seth
Member
Registered: 2012-09-03
Posts: 59,084

Re: [solved] memory leak or am i just missing something?

systemctl isolate multi-user.target # WARNING  this is going to immediately kill your desktop session!
systemctl isolate rescue.target

and see the second link below.

The GPU using up RAM is fine, that's what the RAM is there for. The only problem would be if it would not surrender it when demanded by the system.

Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.

Offline

#12 2024-10-11 21:35:51

arh
Member
Registered: 2024-10-09
Posts: 11

Re: [solved] memory leak or am i just missing something?

seth wrote:
systemctl isolate multi-user.target # WARNING  this is going to immediately kill your desktop session!
systemctl isolate rescue.target

and see the second link below.

The GPU using up RAM is fine, that's what the RAM is there for. The only problem would be if it would not surrender it when demanded by the system.

Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.

i just find it a bit weird that it did not claim so much ram before, but as long as i'm not running out of memory it's fine.
i will try the multi-user/rescue target too when the memory builds up again and mark it as solved if that works.
thanks for the help! <3

Offline

#13 2024-10-12 15:44:14

arh
Member
Registered: 2024-10-09
Posts: 11

Re: [solved] memory leak or am i just missing something?

okay, i got it to work. i didn't have to use the targets, i just exited the window manager and ran

head -c 15000m /dev/zero | tail | sleep 20

from a shell without an x server running. the memory went down from 3 gigabytes to 300 megabytes.
thanks!

Offline

Board footer

Powered by FluxBB