protonscr

[linux] steam beta use disk to high, when download update for game

steamopen Distro Family: Debian
ValveSoftware/steam-for-linux#4978 · opened 2017-05-18 by gamidov-r · updated 2025-03-23 · 14 comments · github
Ggamidov-r 2017-05-18 github

Your system information

  • Steam client version (build number or date): Steam Client Beta - May 12 (and older versions too)
  • Distribution (e.g. Ubuntu): Debian Sid
  • Opted into Steam client beta?: [Yes/No] Yes
  • Have you checked for system updates?: [Yes/No] Yes

Please describe your issue in as much detail as possible:

Describe what you expected should happen and what did happen. Please link any large code pastes as a Github Gist

Steps for reproducing this issue:

  1. format HDD to ext4 with journal
  2. install linux (ex. Debian)
  3. Install steam, iotop
  4. start iotop for check
  5. start download new game via Steam
  6. look to iotop (or another porogramm for check)
  7. wait for update game
  8. start download updates for game
  9. look to iotop (or another porogramm for check)

At 1st, related thread https://github.com/ValveSoftware/steam-for-linux/issues/3450
When I download new game, all ok
When someone game download update, I have bug with high load disk usage (iotop)
My fs ext4 with journaling, my system have hard freezes, because disk load to high
2017-05-18 14-15-55

Kkisak-valve maintainer 2017-05-18 github

Hello @steamlinux, Steam by itself should not be capable of causing a hard freeze (does the system recover?), but might be agitating something in the kernel. What I/O scheduler does Debian Sid use? Also, are you using a significant amount of swap?

Personally, I've only seen similar behavior when there is swap usage or when I tried out blk-mq.

Ggamidov-r 2017-05-18 github

I have swap 16gb and ram 8gb
my I/O scheduler (correct command?)
[code]# cat /sys/block/sda/queue/scheduler
noop deadline [cfq][/code]
vanilla kernel 4.9.0-3

if I run steam via eatmydate, I don't have this problem

P.S. my system have freezes always when HDD load to high

Kkisak-valve maintainer 2020-01-31 github

Hello @steamlinux, are you still experiencing freezes where the system does not recover?

Ggamidov-r 2020-02-08 github

yes, I have high disk activity, when steam downloading game updates
ex. download speed ~5 MB/s, disk 90-110MB (100%)

HHaxk20 2020-02-26 github

This is an issue for lot of people not just me and OP. On windows this does happen but not to this extend.
Like i have 600Mbps line and cant use it properly on steam cause async is hitting the drive full IO capability. Causing it to stop downloading until the drive can catch up and then download again.
This is not fun.

HHaxk20 2020-02-26 github

At start i get slowly to around 65MB/s and then once the steam starts putting real load on the drive it slows down and download goes to crazy numbers like 1MB/s.

Ggamidov-r 2020-02-27 github

I fid small solution: install eatmydata, and run "$ eatmydata steam"

HHaxk20 2020-02-27 github

Oh yes. That did the trick for me as temporary solution for now. Full 75MB/s. Thank you for that temporary fix until i get 1TB SSD or switch even my second drive to BTRFS.

Ggermaniii 2021-09-19 github

Im having this problem right now, A temporary fix for me is to limit the download speed of the steam client to around 20MB/s or 20000KB/s

EDIT: Nevermind, it fixes the sudden download stops but it still locks down / lags my system

Mmegatog615 2021-11-18 github

Would setting the I/O niceness to "idle" be a possible solution to this? Normally we use a program like 'ionice' with '-c3' as the flag to set that, but surely there is a way to do it in code.

Mmegatog615 2022-04-27 github

Would games launched by Steam have fsync disabled as well if Steam is launched with eatmydata? I am reluctant to use it for that reason.

Uuserofryzen 2022-09-16 github

well I think is not just beta, and it's not just debian xD In manjaro stable with steam stable is happening to me too.

JjpVm5jYYRE1VIKL 2023-09-08 github

is ionice -c 3 /usr/bin/steam-runtime fix issue ?

Nnonchip 2025-03-23 github

I fid small solution: install eatmydata, and run "$ eatmydata steam"

this made me investigate/experiment a bit further (documented over in #6073 ) and yeah turns out steam is just spawning so many threads that all try to sync each and every operation they do that they block each other. simply disallowing sync FS access (with eatmydata, or zfs' sync=disabled in my case, or i bet a simple fstab option does it for eg extfs) will work around that, until in another 5 or so years valve maybe gets around to take another look at this issue.