Advice on poor Linux performance vs Windows
Hello!
I recently reworked my setup such that I have my drive which holds the operating systems (dual boot of Windows 11 and Linux Mint Cinnamon) and another drive which holds all my actual data. This is my first dive into trying to move to Linux as my daily driver but I'm noticing some performance issues.
The first thing I noticed is that transfer speeds are much less than expected. Copying a large file within my data drive I get about 300MB/s on Linux, which is pretty slow for M.2 drives- I get about 10x that speed doing the exact same operation on Windows. I could be okay with this but I also noticed that some video files, like the 4K mp4s off my phone, are virtually unplayable. They'll run at maybe 1fps and/or bog down the UI so much I cant even use the seek. This is the case in both the default media player and VLC. These same files play with no issue on Windows.
I suspect the reason for all this stems from my data drive being NTFS, though my file system and Linux knowledge is pretty weak so this is just a theory. Any ideas / best practices that might help me here?
Are you sure it isn’t confusion between MBps and Mbps? 300MBps is 2400 Mbps. The fact that you say the difference is about 10x matches this, since the B to b difference is 8x.
You’ll get a decent few GB/s (capital B) sequential read out of a good NVMe drive, though, so I would be a bit suspicious of only a couple of hundred MB/s when dealing with large files.
Is the video issue all files or just specific ones? I can get on board with the NTFS driver theory for the transfer speed in general, but even 4K video is far less than 300MB/s (as long as you’re not pulling it straight off a cinema camera), so I think the video is a separate problem.
If there are some files that work and others that don’t, it’d be good to know if they’re different codecs and/or bitrates - it sounds like the player might be sending them to a device that can’t decode them properly, where it should be falling back to straightforward CPU decoding in that scenario instead.
Depending on which NTFS implementation your distro uses that could very well be the case. In fact, the state of NTFS support on Linux is such that one of the kernel devs has started on a clean implementation.
I believe that driver has been released but isn't entirely complete. Mind you, I am just going of recent news articles as well.
There aren't that many options available if you want to dualboot. The common "wisdom" is to use a NAS for data, but that is a bit much for a quick fix.
I have heard people using exFAT for data drives rather than NTFS. But, that really is purely for data and I am not entirely sure how well that performs as it is more or less something I heard "in the hallways" and have no experience with myself.
So I don't use NTFS drives from Linux, but a cursory review of kernel news suggests NTFS is enough of a mess to warrant (yet another) a new NTFS driver
However, reading throughput is suggested to be identical as the old driver. So unless you're doing heavy reading and writing at the same time, it shouldn't be cripplingly slow to read.
Assuming you're using the ntfs-3g driver (it's the current, not the new one, and if you aren't, start there), they offer a slew of things to check under Performance -> WHY IS THE DRIVER SO SLOW
open a terminal and type
cpupower frequency-infoOften there's a powersetting that is set to a lower draw setting which can impact performance, it's typically one of the first things I do to set it to performance or balanced.
This is what I got. Is it good, or is it bad?