File transfer speed in Linux

What app or command can I run in Linux that will tell me the speed of a plot that is being copied from my tmp drive to my HDD?

Windows shows the speed in taskmgr for all drives.
Is there a Linux GUI that does that. If not, how about a command line?

I am not seeking network speed. Rather, I want to be able to see the speed a specific HDD is reading or writing while a file copy is in progress.

You can try

rsync -avP FROM TO

I guess, I am as good as you are at doing web searches. Here is a good page - The Alternatives to Linux CP to Show Progress and Speed

htop, ftop and others…

here is another page for @seymour.krelborn command line - How to show the transfer progress and speed when copying files with cp? - Ask Ubuntu

Try manually copying one with midnight commander (mc in terminal) is another way you could judge speed easily. Rsync will be slower as it has other things it’s doing by default.

I am seeking a tool that will supply me with the read/write speed, regardless of the command that is performing the file transfer.

I am seeking a tool that will supply me with the read/write speed of transfers that are already in progress that were executed by commands that do not offer the speed.

Once a file transfer is in progress by a basic command (such as “mv” or “chia_plot_34”), I would like to be able to verify its read/write speed – not when it completes – I want to see the speed in real time, while the transfer is happening, no matter what process is performing the transfer.

Windows’ taskmgr has that functionality. As such, Linux should have 18 ways of of revealing the same thing.

The tool iotop is my favorite but iostat is also good.

1 Like

I use iotop command like so:

sudo iotop -o
1 Like

@seymour.krelborn In Ubuntu when you do a file copy using the GUI… like copy from one directory and then paste into another, there’s a little circle that appears on the menu bar. It’s a pie chart of your copy operation progress. If you click on it, you’ll get your desired details.

Yes, that is helpful. However, I am not seeking a readout that is built into a command.
I am seeking a readout that the OS will give me, no matter which command is doing reads or writes.

If I use the “cp” command, I want to know the speed of that file copy on the disk doing the reading, and on the disk doing the writing.

I installed “iotop” (it was not part of my MX Linux distro). It works fine. But I am still missing something.

iotop shows me which commands are using X MB/s, etc.
But it does not show me two things:

  1. The name of the disk or file-system.
  2. The total disk i/o usage for each specific disk.

iostat is not part of my MX Linux distro. Before I install it, will iostat show me what I am seeking?

I always test the drives individually. to check for performance errors for loss mitigation.
a few commands… first create a directory, mount drive to directory

mkdir test
sudo mount /dev/sdxx test
cd test

---------than run the follow commands in this exact order from the mount directory

sync; dd if=/dev/zero of=tempfile bs=1M count=1024; sync

dd if=tempfile of=/dev/null bs=1M count=1024

sync; echo 3 > /proc/sys/vm/drop_caches

dd if=tempfile of=/dev/null bs=1M count=1024

works like a charm in linux

will give u exact read and write speeds… and also what speeds look like while cache is being used. ul know Wich numbers are witch.

this is the only true way I know of to test hdds speeds in linux…
there are many ways but non as accurate as this…

Your test is valid, for your specific commands that you outlined in your comment.

Alas, it will not tell me the speed of a file transfer in process from some other command.

I am seek a real-time report on the read and/or write speed of a specific drive, regardless of which command or which application is utilizing the drive.

iostat is probably as close as it’ll get.

AFIK, the Linux kernel doesn’t track performance metrics (e.g. transfer rate) per process, so there’s no native way to do something like Windows task manager where it shows you disk IO per process. That’s additional overhead that doesn’t make sense to track, unless it is being used.

Here’s a screenshot of sudo iostat --human 1. sdi is the only disk with real activity in the screenshot.

--human makes the output (sizes) more easily readable, and the 1 tells it to output the stats every second.

Hope that helps!

1 Like

I have to ask, what are you going to do with this information? If a file (plot) takes 5 seconds or 9 seconds to copy to another drive what does that do for you?

– If a drive is nearing its capacity, and it will require me to kick off plots to a different drive, I would like to estimate the time when my attention will be needed. It might mean staying up another ½ hour, which I would consider.

Or, perhaps I am leaving home for most of the day. Should I wait an hour to deal with Chia, or do I leave? But I would need to know that it will take an hour.

– I am also copying files from a slow plotter, via a portable external drive. It has room for only 3 plots. So I want to time it, too, so that the external drive does not run out of space.

– Learning Linux.

Note that these are all k34 plots. So the file transfer times are not zippity-zip.

And I have no idea how you are getting 5 to 9 second transfer times, even with k32 plots.

We used to use this at work to handle machines/ servers around the world, it’s more than super safe.
Download VNC Viewer | VNC® Connect (realvnc.com) Even has a app for the phone :laughing: :laughing:

I used to use that, too.

I now use Remote Desktop.
If that is not an option, then I use Windows’ Quick Assist.

For Linux, I have to figure out what the good remote screen tools are.
Perhaps it is VNC?

I have not yet a need for remote access to my Linux Chia plotter. As I mentioned, I use a portable USB drive to transfer those plots to my farm. So I have to be there.

I use XRDP (open source for MS RDP protocol).

1 Like