Steam downloads slow other processes to a crawl

Whenever Steam is installing something (be it an update or a new game) it basically throttles every other process running on my system to the point of being unusable - the actual DE/windowing systems seem to run fine without any noticeable performance drops (I’m on GNOME/Wayland), however it seems like Steam basically takes priority over all other background processes (eg. I can open Firefox and control the window as normal, but it refuses to actually load any pages until the install is finished - even Steam’s own tabs like the store take an eon to load and aren’t responsive).

I’ve tried searching, but can’t find any other reports of similar issues (related keywords just get grouped into “my downloads should be faster” - I have my download speed capped to 10MB/s in Steam so that it doesn’t fully consume my network bandwidth, and that works just fine). I also haven’t found anything else that exhibits this behaviour (within Steam or other applications), even tasks that should be fairly heavy (i.e. compiling large codebases, installing software through other means, etc) allow me to multitask in the background without issue.

It doesn’t look like my CPU threads are maxed (or even all doing work), so I can only think that Steam is consuming the entirety of my disk I/O bandwidth and thus preventing any other processes from performing disk operations. Would there be an easy way to verify this/some way of limiting Steam’s disk access?

Would appreciate any ideas as I really don’t even know where to start with this.

Some extra information:

I have / mounted on an SSD and /home mounted on an internal HDD (both ext4) - thus Steam and its games are all installed on the HDD and not the SSD.

System:
  Kernel: 6.12.34-1-lts arch: x86_64 bits: 64
  Desktop: GNOME v: 48.2 Distro: EndeavourOS
Machine:
  Type: Desktop System: Gigabyte product: Z690 AORUS MASTER v: -CF
    serial: <superuser required>
  Mobo: Gigabyte model: Z690 AORUS MASTER v: x.x
    serial: <superuser required> UEFI: American Megatrends LLC. v: F28
    date: 12/14/2023
CPU:
  Info: 16-core (8-mt/8-st) model: 12th Gen Intel Core i9-12900KF bits: 64
    type: MST AMCP cache: L2: 14 MiB
  Speed (MHz): avg: 1793 min/max: 800/5100:5200:3900 cores: 1: 1793 2: 1793
    3: 1793 4: 1793 5: 1793 6: 1793 7: 1793 8: 1793 9: 1793 10: 1793 11: 1793
    12: 1793 13: 1793 14: 1793 15: 1793 16: 1793 17: 1793 18: 1793 19: 1793
    20: 1793 21: 1793 22: 1793 23: 1793 24: 1793
Graphics:
  Device-1: NVIDIA GA102 [GeForce RTX 3080 Ti] driver: nvidia v: 575.64
  Device-2: Microsoft LifeCam HD-3000 driver: snd-usb-audio,uvcvideo
    type: USB
  Display: wayland server: X.Org v: 24.1.8 with: Xwayland v: 24.1.8
    compositor: gnome-shell driver: X: loaded: nvidia unloaded: modesetting
    gpu: nvidia,nvidia-nvswitch resolution: 3440x1440~144Hz
  API: EGL v: 1.5 drivers: nvidia,swrast
    platforms: gbm,wayland,x11,surfaceless,device
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 575.64
    renderer: NVIDIA GeForce RTX 3080 Ti/PCIe/SSE2
  API: Vulkan v: 1.4.313 drivers: nvidia surfaces: N/A
  Info: Tools: api: eglinfo, glxinfo, vulkaninfo
    gpu: nvidia-settings,nvidia-smi x11: xdpyinfo, xprop, xrandr
Audio:
  Device-1: Intel Alder Lake-S HD Audio driver: snd_hda_intel
  Device-2: NVIDIA GA102 High Definition Audio driver: snd_hda_intel
  Device-3: Microsoft LifeCam HD-3000 driver: snd-usb-audio,uvcvideo
    type: USB
  Device-4: Focusrite-Novation Focusrite Scarlett 2i2 2nd Gen
    driver: snd-usb-audio type: USB
  API: ALSA v: k6.12.34-1-lts status: kernel-api
  Server-1: PipeWire v: 1.4.5 status: active
Network:
  Device-1: Aquantia AQC113C NBase-T/IEEE 802.3an Ethernet [Marvell Scalable
    mGig] driver: atlantic
  IF: enp3s0 state: up speed: 1000 Mbps duplex: full mac: *
  Device-2: Intel Wi-Fi 6E AX210/AX1675 2x2 [Typhoon Peak] driver: iwlwifi
  IF: wlan0 state: down mac: *
Bluetooth:
  Device-1: Intel AX210 Bluetooth driver: btusb type: USB
  Report: btmgmt ID: hci0 rfk-id: 0 state: down bt-service: disabled
    rfk-block: hardware: no software: no address: N/A
Drives:
  Local Storage: total: 10.92 TiB used: 3.1 TiB (28.4%)
  ID-1: /dev/nvme0n1 vendor: Seagate model: FireCuda 520 SSD ZP1000GM30002
    size: 931.51 GiB
  ID-2: /dev/sda vendor: Seagate model: ST4000DM004-2CV104 size: 3.64 TiB
  ID-3: /dev/sdb vendor: SanDisk model: Extreme Portable SSD
    size: 931.51 GiB type: USB
  ID-4: /dev/sdc vendor: Toshiba model: MQ04UBB400 size: 3.64 TiB type: USB
  ID-5: /dev/sdd vendor: Western Digital model: WD20NMVW-11EDZS7
    size: 1.82 TiB type: USB
Partition:
  ID-1: / size: 479.55 GiB used: 51.24 GiB (10.7%) fs: ext4
    dev: /dev/nvme0n1p5
  ID-2: /boot/efi size: 96 MiB used: 31.9 MiB (33.2%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-3: /home size: 1.88 TiB used: 1.13 TiB (60.0%) fs: ext4 dev: /dev/sda3
Swap:
  ID-1: swap-1 type: file size: 6 GiB used: 0 KiB (0.0%) file: /swapfile
Sensors:
  System Temperatures: cpu: 37.8 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 32 GiB available: 31.17 GiB used: 3.11 GiB (10.0%)
  Processes: 432 Uptime: 34m Shell: Zsh inxi: 3.3.38

HDD you mean mechanical drive? If the drives are form you log /dev/sdc and /dev/sdd then, yes steam will be slow as hell, changing, updating, installing games, also loading of the game will be slow. Steam install games in /home/user…
Change steam library to SSD/nvme and see how it goes.

Yeah, HDD = hard disk. The issue is not that it takes a long time to install games, but rather it prevents other unrelated process from running while it is installing something (including processes installed on the SSD, although they probably would be accessing /home at various points). I had previously been running Windows 11 on this same system (also installing games on the HDD) and had no problems with multitasking while installs were running in the background.

I also don’t imagine I am the only person to install games on a second HDD as SSD’s tend to have limited space (mine is 1/5th the size), yet I haven’t been able to find anyone else running into this issue.

There can be many things, steam, something in the system, filesystem. Try first to install a game on SSD and see what will happen. You can look system logs at the same time in console type
journalctl -f