After some time i checked my system's ram usage and i found a remarkable increase.
After the last artix installation i make last february the ram usage just after boot was about 70 mb, now is more then 350 mb.
I added no deamons at startup and to be sure i tried to start from an artix base iso, that showed a memory usage of more then 300 mb.
I'm wondering if this huge increase is related to the new rust language support in kernel or to some other new feature, because i can't see noticeable increase in the deamons i installed (cupsd, iwd, busybox ifplugd, colord, udevd and some other light utilities).
Any suggestion is appreciated :)
FWIW I find a reduced system (no xorg, sshd, networkmanager, avahi-daemon etc) is using 380-401Mb (according to htop). If I start slim-->xorg --> openbox + helpers I see 680Mb.
I'm not sure what the memory usage was before the latest recent updates.
To confirm my assumption i've just made another test:
I tried an older iso of artix dinit (20220713) and just after boot ram usage was 105 mb, versus more then 300 mb of version 20230814.
This made me curious about how to see the memory usage of a kernel module, as that's got to be happening here, but anyway try to downgrade the linux-firmware packages first https://archive.artixlinux.org/packages/l/linux-firmware/ https://archive.artixlinux.org/packages/l/linux-firmware-whence/
I tried various older firmware, there is no (2/4 mb) impact on memory usage.
This command roughly matches what I meant, albeit with a shallower result, try to run it anyway and see if anything differs:
cat /proc/modules | sort -k2nr | head -n20
First suggestion is not to care unless you have hardly any ram or the amount used is increasing over time on an idle system.
Second suggestion is to list and compare the actual processes using the ram. A total doesn't tell much of a story.
Thanks Hitman and gripped.
Following there is the output of "free -m", "cat /proc/modules | sort -k2nr | head -n20" and "ps -aux" both from two base dinit live system, the first one booted from 20220713 iso and the other from 20230814 iso.
There is an increase of memory usage for all running processes but the sum of all of them does not justify an increase of almost 300 mb.
@gripped: i run on old hardware but memory is not a problem, i'm only wondering why there is such a difference. I always want to know what happens "behind the scenes" :D
2022:
total used free shared buff/cache available
Mem: 5469 112 5194 4 162 5150
Swap: 8191 0 8191
i915 3428352 2 - Live 0xffffffffc0409000
kvm 1118208 1 kvm_intel, Live 0xffffffffc09f2000
ext4 1015808 1 - Live 0xffffffffc0d00000
bluetooth 876544 7 bnep, Live 0xffffffffc0b2e000
kvm_intel 389120 0 - Live 0xffffffffc0ca0000
videodev 311296 3 uvcvideo,videobuf2_v4l2,videobuf2_common, Live 0xffffffffc083c000
intel_uncore 212992 0 - Live 0xffffffffc097c000
psmouse 212992 0 - Live 0xffffffffc079f000
jbd2 192512 1 ext4, Live 0xffffffffc0c5a000
dm_mod 188416 5 dm_snapshot,dm_bufio, Live 0xffffffffc013e000
snd_hda_codec 184320 4 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel, Live 0xffffffffc094e000
thinkpad_acpi 180224 0 - Live 0xffffffffc08b2000
fuse 176128 0 - Live 0xffffffffc0c2e000
overlay 176128 1 - Live 0xffffffffc02d8000
libphy 172032 3 r8169,realtek,mdio_devres, Live 0xffffffffc028f000
mei 172032 5 mei_hdcp,mei_pxp,mei_me, Live 0xffffffffc074f000
snd_hda_codec_realtek 172032 1 - Live 0xffffffffc09b1000
snd_pcm 172032 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core, Live 0xffffffffc0811000
drm_dp_helper 167936 1 i915, Live 0xffffffffc03cb000
uvcvideo 155648 0 - Live 0xffffffffc08df000
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 6240 3900 ? S 17:35 0:00 /sbin/init
root 2 0.0 0.0 0 0 ? S 17:35 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< 17:35 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< 17:35 0:00 [rcu_par_gp]
root 5 0.0 0.0 0 0 ? I< 17:35 0:00 [netns]
root 6 0.0 0.0 0 0 ? I 17:35 0:00 [kworker/0:0-mm_percpu_wq]
root 7 0.0 0.0 0 0 ? I< 17:35 0:00 [kworker/0:0H-events_highpri]
root 9 0.0 0.0 0 0 ? I< 17:35 0:00 [kworker/0:1H-events_highpri]
root 10 0.0 0.0 0 0 ? I< 17:35 0:00 [mm_percpu_wq]
root 12 0.0 0.0 0 0 ? I 17:35 0:00 [rcu_tasks_kthread]
root 13 0.0 0.0 0 0 ? I 17:35 0:00 [rcu_tasks_rude_kthread]
root 14 0.0 0.0 0 0 ? I 17:35 0:00 [rcu_tasks_trace_kthread]
root 15 0.0 0.0 0 0 ? S 17:35 0:00 [ksoftirqd/0]
root 16 0.0 0.0 0 0 ? I 17:35 0:00 [rcu_preempt]
root 17 0.0 0.0 0 0 ? S 17:35 0:00 [rcub/0]
root 18 0.0 0.0 0 0 ? S 17:35 0:00 [migration/0]
root 19 0.0 0.0 0 0 ? S 17:35 0:00 [idle_inject/0]
root 21 0.0 0.0 0 0 ? S 17:35 0:00 [cpuhp/0]
root 22 0.0 0.0 0 0 ? S 17:35 0:00 [cpuhp/1]
root 23 0.0 0.0 0 0 ? S 17:35 0:00 [idle_inject/1]
root 24 0.0 0.0 0 0 ? S 17:35 0:00 [migration/1]
root 25 0.0 0.0 0 0 ? S 17:35 0:00 [ksoftirqd/1]
root 26 0.0 0.0 0 0 ? I 17:35 0:00 [kworker/1:0-events]
root 27 0.0 0.0 0 0 ? I< 17:35 0:00 [kworker/1:0H-events_highpri]
root 28 0.0 0.0 0 0 ? S 17:35 0:00 [kdevtmpfs]
root 29 0.0 0.0 0 0 ? I< 17:35 0:00 [inet_frag_wq]
root 30 0.0 0.0 0 0 ? S 17:35 0:00 [kauditd]
root 31 0.0 0.0 0 0 ? I 17:35 0:00 [kworker/1:1-events]
root 32 0.0 0.0 0 0 ? S 17:35 0:00 [khungtaskd]
root 33 0.0 0.0 0 0 ? S 17:35 0:00 [oom_reaper]
root 34 0.0 0.0 0 0 ? I< 17:35 0:00 [writeback]
root 35 0.0 0.0 0 0 ? S 17:35 0:00 [kcompactd0]
root 36 0.0 0.0 0 0 ? SN 17:35 0:00 [ksmd]
root 37 0.0 0.0 0 0 ? SN 17:35 0:00 [khugepaged]
root 38 0.0 0.0 0 0 ? I< 17:35 0:00 [kintegrityd]
root 39 0.0 0.0 0 0 ? I< 17:35 0:00 [kblockd]
root 40 0.0 0.0 0 0 ? I< 17:35 0:00 [blkcg_punt_bio]
root 41 0.0 0.0 0 0 ? I< 17:35 0:00 [ata_sff]
root 42 0.0 0.0 0 0 ? I< 17:35 0:00 [edac-poller]
root 43 0.0 0.0 0 0 ? I< 17:35 0:00 [devfreq_wq]
root 44 0.0 0.0 0 0 ? S 17:35 0:00 [watchdogd]
root 45 0.0 0.0 0 0 ? I< 17:35 0:00 [kworker/1:1H-events_highpri]
root 46 0.0 0.0 0 0 ? S 17:35 0:00 [kswapd0]
root 47 0.0 0.0 0 0 ? I 17:35 0:00 [kworker/u16:2-events_unbound]
root 54 0.0 0.0 0 0 ? I< 17:35 0:00 [kthrotld]
root 59 0.0 0.0 0 0 ? I< 17:35 0:00 [acpi_thermal_pm]
root 60 0.0 0.0 0 0 ? S 17:35 0:00 [scsi_eh_0]
root 61 0.0 0.0 0 0 ? I< 17:35 0:00 [scsi_tmf_0]
root 62 0.0 0.0 0 0 ? S 17:35 0:00 [scsi_eh_1]
root 63 0.0 0.0 0 0 ? I< 17:35 0:00 [scsi_tmf_1]
root 64 0.0 0.0 0 0 ? S 17:35 0:00 [scsi_eh_2]
root 65 0.0 0.0 0 0 ? I< 17:35 0:00 [scsi_tmf_2]
root 66 0.0 0.0 0 0 ? S 17:35 0:00 [scsi_eh_3]
root 67 0.0 0.0 0 0 ? I< 17:35 0:00 [scsi_tmf_3]
root 68 0.0 0.0 0 0 ? S 17:35 0:00 [scsi_eh_4]
root 69 0.0 0.0 0 0 ? I< 17:35 0:00 [scsi_tmf_4]
root 70 0.0 0.0 0 0 ? I 17:35 0:00 [kworker/u16:4-loop0]
root 73 0.0 0.0 0 0 ? I 17:35 0:00 [kworker/u16:6-events_unbound]
root 74 0.0 0.0 0 0 ? I< 17:35 0:00 [mld]
root 75 0.0 0.0 0 0 ? I< 17:35 0:00 [ipv6_addrconf]
root 80 0.0 0.0 0 0 ? I< 17:35 0:00 [kstrp]
root 84 0.0 0.0 0 0 ? I< 17:35 0:00 [zswap1]
root 85 0.0 0.0 0 0 ? I< 17:35 0:00 [zswap1]
root 86 0.0 0.0 0 0 ? I< 17:35 0:00 [zswap-shrink]
root 87 0.0 0.0 0 0 ? I< 17:35 0:00 [kworker/u17:0]
root 126 0.0 0.0 0 0 ? I< 17:35 0:00 [charger_manager]
root 159 0.0 0.0 0 0 ? I 17:35 0:00 [kworker/0:3-events]
root 257 0.0 0.0 0 0 ? I< 17:35 0:00 [dm_bufio_cache]
root 280 0.0 0.0 0 0 ? S 17:35 0:00 [scsi_eh_5]
root 281 0.0 0.0 0 0 ? I< 17:35 0:00 [scsi_tmf_5]
root 282 0.0 0.0 0 0 ? S 17:35 0:00 [usb-storage]
root 284 0.0 0.0 0 0 ? S 17:35 0:00 [scsi_eh_6]
root 285 0.0 0.0 0 0 ? I< 17:35 0:00 [scsi_tmf_6]
root 286 0.0 0.0 0 0 ? S 17:35 0:00 [usb-storage]
root 289 0.0 0.0 0 0 ? I< 17:35 0:00 [uas]
root 291 0.0 0.0 0 0 ? S 17:35 0:00 [card0-crtc0]
root 292 0.0 0.0 0 0 ? S 17:35 0:00 [card0-crtc1]
root 293 0.0 0.0 0 0 ? S 17:35 0:00 [card0-crtc2]
root 295 0.0 0.0 0 0 ? S 17:35 0:00 [scsi_eh_7]
root 296 0.0 0.0 0 0 ? I< 17:35 0:00 [scsi_tmf_7]
root 297 0.0 0.0 0 0 ? S 17:35 0:00 [usb-storage]
root 341 0.0 0.0 0 0 ? I< 17:35 0:00 [kdmflush/254:0]
root 402 0.0 0.0 2688 1044 ? Ss 17:35 0:00 /usr/bin/acpid -f
root 471 0.0 0.0 22764 4848 ? Ss 17:35 0:00 /usr/bin/udevd --daemon
root 498 0.0 0.0 0 0 ? S 17:35 0:00 [irq/28-mei_me]
root 505 0.0 0.0 0 0 ? I< 17:35 0:00 [ktpacpid]
root 514 0.0 0.0 0 0 ? I< 17:35 0:00 [cryptd]
root 560 0.0 0.0 3172 1140 ? Ss 17:35 0:00 metalog [MASTER]
dbus 561 0.0 0.0 4700 3548 ? Ss 17:35 0:00 /usr/bin/dbus-daemon --system --nofork --nopidfile --print-address=4
root 566 0.0 0.0 3896 2488 ? Ss 17:35 0:00 /usr/bin/crond -n
root 568 0.0 0.0 3184 2272 tty6 Ss+ 17:35 0:00 /sbin/agetty tty6 38400 linux
root 569 0.0 0.0 3184 2272 tty5 Ss+ 17:35 0:00 /sbin/agetty tty5 38400 linux
root 570 0.0 0.0 3184 2272 tty4 Ss+ 17:35 0:00 /sbin/agetty tty4 38400 linux
root 571 0.0 0.0 3184 2280 tty3 Ss+ 17:35 0:00 /sbin/agetty tty3 38400 linux
root 572 0.0 0.0 3184 2368 tty2 Ss+ 17:35 0:00 /sbin/agetty tty2 38400 linux
root 573 0.0 0.0 6216 4364 ? Ss 17:35 0:00 login -- artix
root 574 0.0 0.0 3172 136 ? S 17:35 0:00 metalog [KERNEL]
root 586 0.0 0.0 37620 4012 ? Ss 17:35 0:00 /usr/lib/elogind/elogind
root 587 0.0 0.1 14848 6876 ? Ss 17:35 0:00 /usr/bin/cupsd -f
root 588 0.0 0.1 16224 7376 ? Ss 17:35 0:00 /usr/bin/connmand -n
root 589 0.0 0.0 8984 5116 ? Ss 17:35 0:00 /usr/lib/bluetooth/bluetoothd -n
root 678 0.0 0.1 15508 6976 ? S 17:35 0:00 /usr/bin/connman-vpnd -n
root 680 0.0 0.0 12228 4860 ? S 17:35 0:00 /usr/bin/wpa_supplicant -u
root 728 0.6 0.0 152048 1460 ? Ss 17:35 0:03 gpg-agent --homedir /etc/pacman.d/gnupg --use-standard-socket --daemon
artix 993 0.0 0.0 7820 4588 tty1 Ss 17:35 0:00 -bash
root 1020 0.0 0.0 0 0 ? S 17:38 0:00 [jbd2/sdc1-8]
root 1021 0.0 0.0 0 0 ? I< 17:38 0:00 [ext4-rsv-conver]
root 1033 0.0 0.0 8216 3572 tty1 S 17:40 0:00 su
root 1034 0.0 0.0 7820 4532 tty1 S 17:40 0:00 bash
root 1056 0.3 0.0 0 0 ? I 17:42 0:00 [kworker/1:2-events]
root 1057 0.0 0.0 0 0 ? I 17:43 0:00 [kworker/0:1-events]
root 1060 0.0 0.0 7480 2908 tty1 R+ 17:43 0:00 ps -aux
2023:
total used free shared buff/cache available
Mem: 5465 394 5105 62 240 5071
Swap: 8191 0 8191
i915 3907584 2 - Live 0xffffffffc07ca000
kvm 1318912 1 kvm_intel, Live 0xffffffffc0ff8000
ext4 1150976 1 - Live 0xffffffffc1388000
bluetooth 1093632 7 bnep, Live 0xffffffffc1201000
kvm_intel 454656 0 - Live 0xffffffffc118e000
videodev 372736 2 uvcvideo,videobuf2_v4l2, Live 0xffffffffc0d4b000
intel_uncore 258048 0 - Live 0xffffffffc0e64000
psmouse 233472 0 - Live 0xffffffffc0eb8000
dm_mod 217088 5 dm_snapshot,dm_bufio, Live 0xffffffffc054a000
libphy 212992 3 r8169,realtek,mdio_devres, Live 0xffffffffc0633000
snd_hda_codec 212992 4 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel, Live 0xffffffffc0dc2000
jbd2 208896 1 ext4, Live 0xffffffffc133e000
drm_display_helper 204800 1 i915, Live 0xffffffffc06c6000
overlay 200704 1 - Live 0xffffffffc0b8d000
thinkpad_acpi 200704 0 - Live 0xffffffffc0e14000
snd_pcm 196608 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core, Live 0xffffffffc0cc0000
mei 192512 5 mei_pxp,mei_hdcp,mei_me, Live 0xffffffffc0bcc000
snd_hda_codec_realtek 192512 1 - Live 0xffffffffc0e49000
uvcvideo 176128 0 - Live 0xffffffffc0f9e000
snd 147456 10 snd_hda_codec_hdmi,snd_ctl_led,snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel,thinkpad_acpi,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer, Live 0xffffffffc0c26000
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 6824 3584 ? S 17:46 0:00 /sbin/init
root 2 0.0 0.0 0 0 ? S 17:46 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< 17:46 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< 17:46 0:00 [rcu_par_gp]
root 5 0.0 0.0 0 0 ? I< 17:46 0:00 [slub_flushwq]
root 6 0.0 0.0 0 0 ? I< 17:46 0:00 [netns]
root 9 0.0 0.0 0 0 ? I 17:46 0:00 [kworker/0:1-pm]
root 11 0.0 0.0 0 0 ? I< 17:46 0:00 [mm_percpu_wq]
root 13 0.0 0.0 0 0 ? I 17:46 0:00 [rcu_tasks_kthread]
root 14 0.0 0.0 0 0 ? I 17:46 0:00 [rcu_tasks_rude_kthread]
root 15 0.0 0.0 0 0 ? I 17:46 0:00 [rcu_tasks_trace_kthread]
root 16 0.0 0.0 0 0 ? S 17:46 0:00 [ksoftirqd/0]
root 17 0.0 0.0 0 0 ? I 17:46 0:00 [rcu_preempt]
root 18 0.0 0.0 0 0 ? S 17:46 0:00 [rcub/0]
root 19 0.0 0.0 0 0 ? S 17:46 0:00 [migration/0]
root 20 0.0 0.0 0 0 ? S 17:46 0:00 [idle_inject/0]
root 21 0.0 0.0 0 0 ? S 17:46 0:00 [cpuhp/0]
root 22 0.0 0.0 0 0 ? S 17:46 0:00 [cpuhp/1]
root 23 0.0 0.0 0 0 ? S 17:46 0:00 [idle_inject/1]
root 24 0.0 0.0 0 0 ? S 17:46 0:00 [migration/1]
root 25 0.0 0.0 0 0 ? S 17:46 0:00 [ksoftirqd/1]
root 27 0.0 0.0 0 0 ? I< 17:46 0:00 [kworker/1:0H-events_highpri]
root 28 0.0 0.0 0 0 ? S 17:46 0:00 [kdevtmpfs]
root 29 0.0 0.0 0 0 ? I< 17:46 0:00 [inet_frag_wq]
root 30 0.0 0.0 0 0 ? S 17:46 0:00 [kauditd]
root 31 0.0 0.0 0 0 ? S 17:46 0:00 [khungtaskd]
root 32 0.0 0.0 0 0 ? S 17:46 0:00 [oom_reaper]
root 33 0.0 0.0 0 0 ? I 17:46 0:00 [kworker/u16:2-loop0]
root 34 0.0 0.0 0 0 ? I< 17:46 0:00 [writeback]
root 35 0.0 0.0 0 0 ? S 17:46 0:00 [kcompactd0]
root 36 0.0 0.0 0 0 ? SN 17:46 0:00 [ksmd]
root 37 0.0 0.0 0 0 ? I 17:46 0:00 [kworker/1:1-events]
root 38 0.0 0.0 0 0 ? SN 17:46 0:00 [khugepaged]
root 39 0.0 0.0 0 0 ? I< 17:46 0:00 [kintegrityd]
root 40 0.0 0.0 0 0 ? I< 17:46 0:00 [kblockd]
root 41 0.0 0.0 0 0 ? I< 17:46 0:00 [blkcg_punt_bio]
root 42 0.0 0.0 0 0 ? I< 17:46 0:00 [tpm_dev_wq]
root 43 0.0 0.0 0 0 ? I< 17:46 0:00 [ata_sff]
root 44 0.0 0.0 0 0 ? I< 17:46 0:00 [edac-poller]
root 45 0.0 0.0 0 0 ? I< 17:46 0:00 [devfreq_wq]
root 46 0.0 0.0 0 0 ? S 17:46 0:00 [watchdogd]
root 47 0.0 0.0 0 0 ? I< 17:46 0:00 [kworker/1:1H-kblockd]
root 48 0.0 0.0 0 0 ? S 17:46 0:00 [kswapd0]
root 49 0.0 0.0 0 0 ? I< 17:46 0:00 [kthrotld]
root 50 0.0 0.0 0 0 ? I< 17:46 0:00 [acpi_thermal_pm]
root 51 0.0 0.0 0 0 ? S 17:46 0:00 [scsi_eh_0]
root 52 0.0 0.0 0 0 ? I< 17:46 0:00 [scsi_tmf_0]
root 53 0.0 0.0 0 0 ? S 17:46 0:00 [scsi_eh_1]
root 54 0.0 0.0 0 0 ? I< 17:46 0:00 [scsi_tmf_1]
root 55 0.0 0.0 0 0 ? S 17:46 0:00 [scsi_eh_2]
root 56 0.0 0.0 0 0 ? I< 17:46 0:00 [scsi_tmf_2]
root 57 0.0 0.0 0 0 ? S 17:46 0:00 [scsi_eh_3]
root 58 0.0 0.0 0 0 ? I< 17:46 0:00 [scsi_tmf_3]
root 59 0.0 0.0 0 0 ? S 17:46 0:00 [scsi_eh_4]
root 60 0.0 0.0 0 0 ? I< 17:46 0:00 [scsi_tmf_4]
root 62 0.0 0.0 0 0 ? I 17:46 0:00 [kworker/u16:4-events_unbound]
root 64 0.0 0.0 0 0 ? I 17:46 0:00 [kworker/u16:6-loop0]
root 65 0.0 0.0 0 0 ? I 17:46 0:00 [kworker/1:2-events]
root 67 0.0 0.0 0 0 ? I< 17:46 0:00 [mld]
root 68 0.0 0.0 0 0 ? I< 17:46 0:00 [ipv6_addrconf]
root 75 0.0 0.0 0 0 ? I< 17:46 0:00 [kstrp]
root 76 0.0 0.0 0 0 ? I< 17:46 0:00 [zswap-shrink]
root 77 0.0 0.0 0 0 ? I< 17:46 0:00 [kworker/u17:0]
root 78 0.0 0.0 0 0 ? I< 17:46 0:00 [charger_manager]
root 80 0.0 0.0 0 0 ? I< 17:46 0:00 [kworker/0:1H-kblockd]
root 81 0.0 0.0 0 0 ? I 17:46 0:00 [kworker/0:3-events]
root 224 0.0 0.0 0 0 ? I< 17:46 0:00 [dm_bufio_cache]
root 247 0.0 0.0 0 0 ? S 17:46 0:00 [scsi_eh_5]
root 248 0.0 0.0 0 0 ? I< 17:46 0:00 [scsi_tmf_5]
root 249 0.0 0.0 0 0 ? S 17:46 0:00 [usb-storage]
root 250 0.0 0.0 0 0 ? S 17:46 0:00 [scsi_eh_6]
root 251 0.0 0.0 0 0 ? I< 17:46 0:00 [scsi_tmf_6]
root 252 0.0 0.0 0 0 ? S 17:46 0:00 [usb-storage]
root 254 0.0 0.0 0 0 ? I< 17:46 0:00 [uas]
root 257 0.0 0.0 0 0 ? S 17:46 0:00 [scsi_eh_7]
root 258 0.0 0.0 0 0 ? I< 17:46 0:00 [scsi_tmf_7]
root 259 0.0 0.0 0 0 ? S 17:46 0:00 [usb-storage]
root 260 0.0 0.0 0 0 ? I< 17:46 0:00 [ttm]
root 261 0.0 0.0 0 0 ? S 17:46 0:00 [card0-crtc0]
root 262 0.0 0.0 0 0 ? S 17:46 0:00 [card0-crtc1]
root 263 0.0 0.0 0 0 ? S 17:46 0:00 [card0-crtc2]
root 267 0.0 0.0 0 0 ? I< 17:46 0:00 [kworker/0:2H-kblockd]
root 304 0.0 0.0 0 0 ? I< 17:46 0:00 [kdmflush/254:0]
root 361 0.0 0.0 2932 1664 ? Ss 17:46 0:00 /usr/bin/acpid -f
root 424 0.0 0.0 27760 5072 ? Ss 17:46 0:00 /usr/bin/udevd --daemon
root 462 0.0 0.0 0 0 ? S 17:46 0:00 [irq/28-mei_me]
root 474 0.0 0.0 0 0 ? I< 17:46 0:00 [ktpacpid]
root 478 0.0 0.0 0 0 ? I< 17:46 0:00 [cryptd]
root 525 0.0 0.0 4876 2432 ? Ss 17:46 0:00 metalog [MASTER]
dbus 526 0.0 0.0 4948 3328 ? Ss 17:46 0:00 /usr/bin/dbus-daemon --system --nofork --nopidfile --print-address=4
root 527 0.0 0.0 4108 2816 ? Ss 17:46 0:00 /usr/bin/crond -n
root 529 0.0 0.0 3424 2304 tty6 Ss+ 17:46 0:00 /sbin/agetty tty6 38400 linux
root 530 0.0 0.0 3424 2048 tty5 Ss+ 17:46 0:00 /sbin/agetty tty5 38400 linux
root 531 0.0 0.0 3424 2176 tty4 Ss+ 17:46 0:00 /sbin/agetty tty4 38400 linux
root 532 0.0 0.0 3424 2176 tty3 Ss+ 17:46 0:00 /sbin/agetty tty3 38400 linux
root 533 0.0 0.0 3424 2176 tty2 Ss+ 17:46 0:00 /sbin/agetty tty2 38400 linux
root 534 0.0 0.0 7284 4224 ? Ss 17:46 0:00 login -- artix
root 539 0.0 0.0 4876 852 ? S 17:46 0:00 metalog [KERNEL]
root 552 0.0 0.0 39532 4480 ? Ss 17:46 0:00 /usr/lib/elogind/elogind
root 553 0.0 0.1 15744 6912 ? Ss 17:46 0:00 /usr/bin/cupsd -f
root 554 0.0 0.1 17332 7424 ? Ss 17:46 0:00 /usr/bin/connmand -n
root 555 0.0 0.0 9476 4992 ? Ss 17:46 0:00 /usr/lib/bluetooth/bluetoothd -n
root 648 0.0 0.1 16620 6912 ? S 17:46 0:00 /usr/bin/connman-vpnd -n
root 650 0.0 0.1 14900 6016 ? S 17:46 0:00 /usr/bin/wpa_supplicant -u -s -O /run/wpa_supplicant
root 686 0.1 0.0 152264 3072 ? Ss 17:46 0:01 gpg-agent --homedir /etc/pacman.d/gnupg --use-standard-socket --daemon
artix 971 0.0 0.0 8152 4608 tty1 Ss 17:46 0:00 -bash
root 982 0.0 0.1 16192 6400 tty1 S+ 17:47 0:00 sudo -s
root 983 0.0 0.0 16192 2428 pts/0 Ss 17:47 0:00 sudo -s
root 984 0.0 0.0 8168 4608 pts/0 S 17:47 0:00 /bin/bash
root 1010 0.0 0.0 0 0 ? I< 17:56 0:00 [kworker/0:0H]
root 1011 0.0 0.0 0 0 ? I 17:56 0:00 [kworker/1:0-events]
root 1017 0.0 0.0 0 0 ? I 17:57 0:00 [kworker/u16:0-events_unbound]
root 1018 0.0 0.0 0 0 ? I 17:57 0:00 [kworker/0:0]
root 1022 0.0 0.0 0 0 ? S 17:57 0:00 [jbd2/sdb1-8]
root 1023 0.0 0.0 0 0 ? I< 17:57 0:00 [ext4-rsv-conver]
root 1116 100 0.0 8912 4096 pts/0 R+ 17:59 0:00 ps -aux
I'm no expert but the 'available' ram only shows a difference of 79.
The 'shared' figure has an increase of 58 which suggests greater usage of a tmpfs ?
There's more usage of buff/cache
You may find more information in the kernel docs https://www.kernel.org/doc/html/latest/mm if you want to learn more.
i915 the igpu driver got fatter by 48 mb, and kvm_intel and bluetooth which also most likely uses an intel driver fattened by ~20 each, along with a few other hardware related modules fattening up by a few mb each we get a rough total of 100 mb (so probably 150 if we take shared files into account) increased. Why, only the kernel devs know, but can you try an older kernel like 5.15lts? and try to blacklist kvm_intel and bluetooth to ease up some of that difference.
Interestingly every other system process grew by a few hundred kb that i can't explain, hmm. but this will only add another 10mb or so extra usage, so not very dubious.
Even if you are sure the conditions are the same maybe caching mechanisms are more aggressive, as indeed as
@gripped said buffed/cached/shared have increased. Try to check overall ram usage (don't rerun all the tests) immediately after running echo 3 > /proc/sys/vm/drop_caches
This is what i'm curious about... It is strange the news of such an increase was not spread through the linux community....
The condition are the same, same notebook booted with two artix-dinit iso.
Clearing the cache decrease the overall memory usage to 290.
Another strange thing i noted is neofetch reporting 116 MiB memory usage just after logging in, in line with old kernel's reported performance....
What does slabtop say? Just look at the totals at the top, and maybe the first few values.
And yes unfortunately the real usage per module is very hard to calculate, involves adding the memory address space for each symbol of that module, afaik it can't be done in shell so yeah...
I m very sorry to do last system update. I was very happy before but now when I checked ram usage Im very angry. I have used many Linux distributions and have never encountered such disgrace. Any idea??
@oyt Are you like the OP on Intel hardware, or with nvidia gpu? Cause in all honesty it's their fault for this fatness.
Okay so I started to test with various kernel versions, please note i'm on all AMD hardware so the differences might be smaller.
For now i'm putting preliminary tests showing just Available memory, while Free/Cached memory also seems to be affected by caching set in some values so i will have to override them all to be accurate.
Before the desktop loaded:
6.7.2-2-cachyos
MemAvailable: 15580160 kB
6.7.1-artix1-1
MemAvailable: 15587780 kB
6.6.13-1-lts
MemAvailable: 15627108 kB
6.1.69.21.realtime1-1-rt-lts
MemAvailable: 15743236 kB
5.15.114-1-lts515
MemAvailable: 15693816 kB
A test with a sliimed down loaded desktop, more kernels and standardized caching values will come soon. It seems fattening up started after 6.6.
6.4.10-artix1-1 my kernel
It might be worth looking at gcc (compiler) versions as well as kernel ones, because newer gcc versions often increase binary size which will increase RAM usage when they are loaded into RAM, even if there have not been increases in the size of the code. Small increases are typical anyway as new features and support are added here and there, either in the code or gcc. Kernel modules can be optionally built in or loaded as required which is set in the kernel config at build time, changes there could have an impact too.
Sorry this is a troll post or comes across as one. "Angry", "Disgrace".
And lots of figures to back up what you are saying. Oh wait..............
How could anyone have "any idea?"
I've got shit loads of ram and I'm glad when the kernel uses it.
I'll do a downgrade to that too out of curiosity, pretty sure either around 6.3/4 or around 5.19 (right before that rust driver support ofc) it started first to jump in size. Too bad none of these are LTS. 5.10 and 5.4 are though. Below 5.x i have hardware too new for that :)
Yes, i have to see how far i can easily downgrade gcc to reach the 2 or so year period. Glibc also but it's easier said than done, maybe i can downgrade two-three major versions before enough programs break. Reason why some distros sware by musl libc.
New more conclusive test with as generic as possible kernels, few seconds after desktop loaded with minimal programs. It did not go exactly as I planned as due to the distro's rolling nature I couldn't downgrade libraries enough to do a second test (gcc not even by a bit, glibc only to the last minor version from 9 months ago with negligeable difference in ram usage).
Notes:
-No 6.2-6.4 kernels boot correctly, have no idea why;
-My testing wasn't completely spot on, so still showing just MemAvailable;
-A 2 year old version of linux-firmware has ~30MB less ram usage, barely above margin of error, maybe on non AMD hardware this difference would be larger to warrant a second test.
6.7.1-artix1-1
MemAvailable: 14457676 kB
6.6.13-1-lts
MemAvailable: 15049412 kB
6.5.1-artix1-1 (downgrade from archive)
MemAvailable: 15017100 kB
6.1.70-1-lts (downgrade from archive)
MemAvailable: 15072752 kB
6.1.8-artix1-1 (downgrade from archive)
MemAvailable: 15097504 kB
6.0.12-artix1-1 (downgrade from archive)
MemAvailable: 15109732 kB
5.19.8-artix1-1 (downgrade from archive)
MemAvailable: 15069548 kB
5.18.14-artix1-1 (downgrade from archive, oldest i could go, kernels below are dedicated lts releases)
MemAvailable: 15151148 kB
5.15.114-1-lts515
MemAvailable: 15211540 kB
5.10.209-1-lts510
MemAvailable: 15388964 kB
5.4.268-1-lts54
MemAvailable: 15393112 kB
4.19.306-1-lts419
(got it to boot but amdgpu won't load; compensated memory usage is a further ~20MB lower)
While many complex projects require a specific GCC version, simpler ones usually build with any GCC from the last decade or two, so you could do some tests on some random things from the AUR. My experience from past testing is that new versions of GCC usually see binary size growing. I think it is probably making more use of growing average HW spec. Say you have a piece of code with 2 possible routes that each have 2 possibilities inside, perhaps it is more optimal to then make 4 routes so you only stop to make an initial choice rather than choosing a route at 2 points, as a vague description of what might happen. It would take more RAM but be faster when running. Whether that covers the OP's case of huge RAM usage increase that no-one else has noticed is another matter! :D
Besides this, there are also a number of GCC options that affect binary size, and strip, which also has options. A debug build would be much larger than a standard one, and one optimized for size rather than performance would be smaller than standard.
Yeah exactly, maybe aggressive caching is good even when it's not done in memory pages/inodes/tmpfs stuff that bleeds in used/other common culprits. And of course by all means it's my curiosity, not related neither to hardware neither with our arch upstream or anything else :)
Dinit complains with a little downgrade and something else did with a bigger one, don't remember.
What i will do is try with some installer images with another init and measure on it's kernel and an older one, after all lts515 is in Artix repos and that's a really nice thing i have to congratulate the devs with.
Or I can "cheat" and try in a VM, although it will be less nuanced than in actual recent hardware.
You need to work on your quoting of posts
Ram is thankfully cheap so no handouts were necessary for its purchase.
Enjoy keeping your ram pointlessly empty and unused on Void if that's the case.
Live long and prosper.