ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.25k stars 175 forks source link

Slow download speed #4600

Closed ghost closed 8 years ago

ghost commented 8 years ago

Your system information

My internet speed is 80Mbps which should allow me to download at around 10MB/s but for whatever reason my Steam downloads peak at 3MB/s and normally sit around 1MB/s. When I download files through chrome or game launchers I get the speed I'm supposed to, around 8.5MB/s, so it's just a Steam issue. My settings have no bandwidth limit and the download region is set to the one closest to me. This issue occurs both on the beta and stable client.

Steps for reproducing this issue:

  1. Open Steam
  2. Download game
steamlinux commented 8 years ago

try install dnsmasq and resolvconf

ghost commented 8 years ago

dnsmasq was already installed on my system. I installed resolvconf but it's still slow.

steamlinux commented 8 years ago

with this packages my download speed 3-5MB/S, without this packages 50KB/S

ghost commented 8 years ago

Yea...it doesn't help me at all.

steamlinux commented 8 years ago

what your fs? ext4 journal? try this:

  1. install iotop
  2. run iotop (as root)
  3. start download in steam
  4. look in iotop, if some process load io >98% (ex. kworker), install eatmydata, and run steam this mode "eatmydata steam" for disabling journalling
ghost commented 8 years ago

Yea my fs is ext4 journaled but that's not the issue. Everything is at 0% in iotop. There are some spikes to like 0.4% or so but steam is the one responsible for the majority of the disk usage.

ghost commented 8 years ago

@steamlinux ok...you were right...dnsmasq...it's fantastic. It fixed my issue. It was already installed like I said but it turns out it wasn't configured and never actually got run so my dns queries weren't being cached. Properly configuring dnsmasq causes my games to download like they're supposed to.

steamlinux commented 8 years ago

@Scoopta can you post your dnsmasq config?

ghost commented 8 years ago

@steamlinux I'm using gnome 3 with the gnome 3 network manager so I went to /etc/NetworkManager/NetworkManager.conf and added dns=dnsmasq to the [main] section. The network manager takes care of the rest. That being said without network manager the following config should have the same result. /etc/dnsmasq.conf: no-resolv server=8.8.8.8 server=8.8.4.4

/etc/resolv.conf: nameserver 127.0.0.1

If you manually configure it you'll also have to configure it to run on startup. The following systemd unit should do that

/etc/systemd/system/dnsmasq.service: [Unit] Description=DNS caching service

[Service] Type=forking ExecStart=/usr/sbin/dnsmasq PIDFile=/var/run/dnsmasq.pid

[Install] WantedBy=multi-user.target

steamlinux commented 8 years ago

thank's