Relationship between CPU usage, USB hard drive and network card

2

File this as me just being curious.

I have an old computer (Dell gx280) that has a external usb 2.0 hard drive connected to it. I was trying to copy the files over a gigabit network connection to another computer and it was only transferring at approx. 2.5 megabytes a second. This was only using a small fraction of the gigabit network card in both the source and destination computer. I saw the CPU was maxed out on the source PC b/c of an application. Once I quit that application the CPU usage went back to essentially nothing. The copy job then jumped up to 14 megabytes a second and was using 30-35% of the gigabit connection.

The NIC and the USB ports are on the motherboard. How did the CPU usage slow this whole process down and was it impacting the network card, the USB port or both?

PHLiGHT

Posted 2013-06-20T19:46:16.640

Reputation: 396

Was the program reading or writing to the hard drive too? – Scott Chamberlain – 2013-06-20T19:52:18.713

The program was WinVNC which I assume means a minimal amount of reading of the local hard drive...not the USB drive. – PHLiGHT – 2013-06-20T19:54:44.090

I find it very odd WinVNC would max out a CPU. – Scott Chamberlain – 2013-06-20T19:57:14.387

Agreed, it's a fluky occurrence but definitely is and continues to with subsequent remote connections. – PHLiGHT – 2013-06-20T19:59:18.957

Answers

2

USB is more of a CPU-driven interface, more so than your NIC or hard drive. The host must orchestrate and be involved in most USB trasactions. Firewire is capable of moving data without assistance from the host and this is one of its advantages over USB.

There are newer standards such as USB OTG that sort of provide this capability, but I'm unsure if it can help in PC to peripheral transfer speeds (it's meant to allow two USB peripherals to connect without a PC in the middle if I'm not mistaken). If you were using a standard USB 2.0 drive on a standard USB 2.0 chipset then it can't be a factor.

If you have antivirus, DRM, or encryption software intercepting each read and write operation that could also play a part.

LawrenceC

Posted 2013-06-20T19:46:16.640

Reputation: 63 487

0

Where did you execute the copy on PC2 or PC1 (Dell gx280)? When you try to copy a file over the network, your PC needs to take the file and break it into TCP packets before sending them over network. That requires CPU usage. So, when you if your CPU is occupied to do other higher priority processes than copy (which would probably have a lower priority than your application), then your NIC won't be receiving the packets to send it over the network.

user2480011

Posted 2013-06-20T19:46:16.640

Reputation: 66