The increased CPU usage during high-speed downloads over the internet compared to local file transfers from a NAS can be attributed to several factors. Here’s a breakdown of what causes the higher CPU load and how it might be mitigated:
1. Network Protocol Overheads (TCP/IP and Encryption)
TCP/IP Stack Processing: Internet downloads typically use the TCP/IP protocol, which involves handling packet sequencing, checksums, congestion control, and error correction. This requires CPU cycles to process, especially at high speeds.
Encryption/Decryption: When downloading files from the internet, especially over HTTPS, your CPU must handle encryption and decryption. This can be particularly CPU-intensive depending on the encryption algorithms used.
Mitigation: Offloading encryption to hardware (e.g., via network cards that support hardware acceleration).
2. Background Services and Applications
System Overhead: When downloading from the internet, other background processes, like firewall applications, antivirus software, or system monitoring tools, might scan or inspect the downloaded data. This adds to the CPU usage.
Mitigation: You can reduce CPU usage by temporarily disabling or optimizing these services during high-speed downloads. (This comes at risk and I do not advise turning Antivirus off)
While some level of CPU usage is inevitable during high-speed internet downloads due to protocol overheads and security processing, these steps can help reduce the overall load on your CPU.
Theres a thread about this with almost 200 comments in it if you want to have a read.
But TLDR, Steam compresses files on their servers with complex algorithms, you download a game and while downloading your cpu is having to decompress the file which is cpu intensive. The kicker is each game on steam is compressed using different algorithms, so downloading GTA may use different amounts of processing power than tomb raider as an example - Very High level
Unless you have a PhD in computer science and experience in low level cpu instruction sets then just think of it as 1s and 0s
The thing that seems odd to me about this overhead is that on my server thats running PFSense, I see the CPU usage jump up to about 25%-35% when downloading.
On my PC my the CPU also jumps up to around 30%
But the CPU in my PC is considerably more powerful so Id expect a lower jump in usage on my PC.
I tested downloading on an old P4 system with a gigabit nic but that thing just begged me to stop xD
Server is using a Intel Core i7 4790 my PC is using a AMD Ryzen 7 5800X3D
Its funny I mention no change in CPU usage… reminds me of WinRAR. Over the years of changing CPU’s for better and better ones I never seem to see WinRAR Extract any faster. Never seems to get faster to me anyway