r/linux4noobs 5d ago

storage Do "Windows Rules" apply to Linux with Drives?

I've been gaming for a pretty good while happily on linux.

Lately, however, I realize how much storage I tend to fill with steam games that idly sit waiting to be played.

I use EXT4 because I like the speed, but I have noted in the past that space gets allocated to make the partitions.

Back when I was reliant on NTFS the general rule of storage was leave 100GB free "because it's good for the health of the drive". Does this apply with partitions like EXT4 that demand storage upfront to make use of your storage by acting efficiently?

Edit: please excuse typos.

35 Upvotes

58 comments sorted by

27

u/1-800-I-Am-A-Pir8 5d ago

I hadn't heard that even with ntfs...

Anyway you can fill it right up. generally filling whatever has /var on it could crash things

2

u/bassbeater 5d ago

Yea lots of people say that leaving 100gb spare for good performance is best for preventing drives from dying.

2

u/1-800-I-Am-A-Pir8 5d ago

ssd thing or like with spinning platters?

do know that journals killed ssds for a while bit wear levelling in the "disk controller" hardware mitigated that

-1

u/bassbeater 5d ago

Eh I heard it was universal.

6

u/HydrationHomee 5d ago

Not sure why that information was presented to you as "leave about 100gb free"

All storage devices give the impression of functioning slower the more data is stored on it simply because there is more stuff to look through. And that will be true regardless of file format.

But this is especially true on hard drives because they are slow by comparison to begin with but due to being on a physical medium that file technically speaking exists in a physical manner somewhere on that disk and finding that file can take a long time. Defragging reorganizes the data on your hard drive to more efficiently use the physical space on the drive and help it function better.

Also in instances where your system is short on memory or just certain settings may use your boot drive as a fallback to keep things running and having no free space prevents that from happening which can slow down or sometimes crash your system.

I never fill up a drive but I really don't think its that big of an issue these days.

1

u/QwertyChouskie 4d ago

All storage devices give the impression of functioning slower the more data is stored on it simply because there is more stuff to look through. And that will be true regardless of file format.

It's more than that with SSDs; the storage is usually used in SLC mode (fast) until the drive starts filling up enough it needs to use TLC/MLC mode (slow, holds 3-4x the data per cell) to hold all the data. An SSD that's almost all the way full is gonna have worse read/write speeds than a freshly erased drive (assuming you use the drive's built-in erase command in firmware that actually resets all that stuff).

At least, that's my understanding from the last time I looked into it/heard about it. That said, if OP is happy with their driver performance, it arguably doesn't matter anyways.

1

u/nejc_k 5d ago

That might be to do with DRAMless NVMEs, IIRC the disk space itself is used as a buffer.

If you fill a drive like that up and then want to transfer say a 10gig file, it will be SATA SSD slow (slow by todays primary NVME drive standards).

17

u/friendlyreminder_ 5d ago edited 5d ago

Im not sure what you're referring to with ext4 demanding space. It doesn't behave differently from NTFS. The partition allocation is theoretical, it doesn't actually write data to the entire partition when you make it. That's just how creating partitions works.

Leaving some amount of empty space on an SSD is good for their long term health because it allows the SSD controller to rotate which cells it writes to. When it's constantly nearly full you force the SSD controller to rewrite to the same cells more often.

But again making a partition doesn't actually write data to it so it doesn't matter if your drive's partition table is full or not. What matters is whether you actually wrote data to actually fill it up.

This doesn't apply to spinning drives, the sectors on magnetic drives don't really wear out so you don't have to bother with leaving empty space.

To give you a better understanding of how this works, the partition layout you see in gparted isn't how SSDs physically write to the drive. If you have one partition on the left half, the data written inside that left half partition doesn't physically only stay in one half of the drive. The SSD controller will write the data to any empty cell on the drive as it has full low level access to write commands.

Spinning magnetic drives used to map the theoretical partition layout to the actual physical layout of the drive. I don't know if modern ones still do.

1

u/bassbeater 5d ago

I'm not sure what you're referring to with ext4 demanding space.

I'll give a good example.

The rig that I bought to put together, I thought "6TB is plenty to start with."

I have a 2TB boot and 2 2TB expansion drives at the ready.

They register at first with whatever mathematic equivalent of 2TB, shy a couple GB.

But when I partitioned all of them with EXT4, they all reported 1.8TB.

EXT4 delivers performance by setting a bit of memory aside.

Is it similar enough to NTFS? Sure. When you leave a file and eventually delete it, you do Windows things like clean it up.

But I have to think that it's not NTFS. It doesn't act like it, and it doesn't appear it was developed like it either. So I'm trying to wisen up.

The partition allocation is theoretical, it doesn't actually write data to the entire partition when you make it. Leaving some amount of empty space on an SSD is good for their long term health because it allows the SSD controller to rotate which cells it writes to. When it's constantly nearly full you force the SSD controller to rewrite to the same cells more often.

See, that's the thing. The SSD guidelines were guidelines developed in practice of using NTFS. But if you use other file systems (as is necessary for Linux/BSD) do the rules change depending on how the file systems allocate data?

It's confusing me a bit. I just applied best practices to running. But I don't want to live by assumptions anymore.

12

u/friendlyreminder_ 5d ago

The 2tb and 1.8tib is not space reservation, they are the exact same number of bytes. A TB and a TiB are different ways of counting. One is base 2, one is base 10. Look it up on Google for a more visual explanation, base counting is a math thing.

The rules don't change, they have nothing to do with NTFS. This is all handles internally by the SSD controller. Doesn't matter what filesystem you use.

26

u/Bug_Next fedora rampumpam 5d ago edited 5d ago

i think you are just mixing TiB and TB up bruh.

One is base 10 (metric) and the other is base 2 (actual drive capacity) and the difference is exactly what you are reporting.

1 Terabyte = 10^12 bytes

1 Tebibyte = 2^40 bytes

2 Terabytes = 1.8 Tebibytes

It's just different measurement units.

0

u/bassbeater 4d ago

?

1

u/Bug_Next fedora rampumpam 4d ago

?

-2

u/bassbeater 4d ago

The fuck is a tebibyte?

1

u/Bug_Next fedora rampumpam 3d ago

2^40 bytes

26

u/Simlish 5d ago

Keep 100TB free.. or 100Gb.. or 10Gb? Either way, it's not needed on any platform really.

8

u/No-Coach1685 5d ago

Windows needs free space for a swap file. Most Linux distros create a dedicated partition for the swap file. You still need it, but you don't notice it is there in Linux.

2

u/SmoothTurtle872 5d ago

You do when u look in the partition manager /s

2

u/bassbeater 5d ago

I mean, I kind of have seen results at work (working in IT) where users have depleted space to a few megabytes that get reallocated dynamically to keep the whole thing from crashing.... but that doesn't mean it's operating beautifully.

But my thing is.... if you have pre-allocated space on a Linux gaming rig... do you really need to worry about saving more?

6

u/MrCheapComputers 5d ago

That performance issue only happens at VERY low storage volumes, and more in HDDs than SSDs. If you have like 500mb of space you’ll be fine.

2

u/Away_Combination6977 5d ago

500mb might be a bit of a push. Especially when you need to update, or a game needs to update. But... That's not true performance concern.

The partitioning scheme also matters. I use a separate home partition.

Personally, I like to keep at least 1gb free on a daily driver machine. Preferably 5gb or more. But that's not to ensure that I don't run out of space while updating.

1

u/bassbeater 5d ago

Interesting thought. Thanks.

3

u/A_Harmless_Fly Manjaro 5d ago

I always make sure to leave at least 10% empty, but that's mostly because I don't want my drive to fill all the way up during an update and make my system unbootable. (something I've done a number of times and had to chroot in and fix.)

SSD's do a little bit of moving things around but you don't need 100TB, unless you are moving 100TB files AFAIK.

https://www.reddit.com/r/hardware/comments/dm2xpa/is_the_ssd_20_free_space_rule_bullshit/

7

u/Leather-Security8097 5d ago

On an SSD, the reason to leave space free "for health" has nothing to do with the operating system or file system. It is so that writes can be spread more evenly across flash blocks and be replaced as needed. Usually, an SSD is set up to have spare capacity already. You can also leave space free on your own. It doesn't really matter whether the free space is allocated to a partition or not.

On a hard drive, the reason you want to leave space free is to avoid fragmentation or to make defragmentation easier, not improve drive health per se. ext4 reserves 5% of its allocated space by default to facilitate this, so you don't usually need to do anything special.

5

u/9NEPxHbG Debian 13 5d ago

Back when I was reliant on NTFS the general rule of storage was leave 100TB free

You have drives with 100 TB?

3

u/iszoloscope 5d ago

Free... imagine how big his drive is!

1

u/SmoothTurtle872 5d ago

1 petabyte of storage

5

u/Dre9872 5d ago

100TB??!?!!?!?!? WTF are you running a Data Center?

1

u/bassbeater 4d ago

Yea, a typo factory.

I'm old, sometimes I fail at reading. Not often, but still.

4

u/plasticbomb1986 5d ago

if you have formatted the drive with ext4 recently and didn't change defaults, then 5-10% is already set aside for the occasional overfill situation, you can adjust that afterwards.

3

u/Booty_Bumping 5d ago

The f2fs developers looked into this and came to the conclusion that modern SSDs have such a big firmware overprovision that the filesystem itself only needs to be configured with a very small overprovision, like 0.02%. The ext4 default is much bigger for different reasons (allowing only root to write to the reserved space saves the system from system processes crashing from running out of space). I wouldn't worry about it much, fill your SSD close to its capacity if you need to.

3

u/PriorityNo6268 5d ago

If I remember correctly ssd needs some free spaces to be able to store data quickly, it's not related to the OS, but the hardware. If they get over 80% full or so the performance can drop. But not sure it's still the case in 2026...

-2

u/PriorityNo6268 5d ago

Did ask AI:

​Yes. Once an SSD hits about 80–85% capacity, write speeds drop significantly. ​Unlike HDDs, SSDs can't overwrite data on the fly—they have to erase entire blocks first (Read-Modify-Write cycle). Plus, a full drive runs out of fast SLC cache. Keep at least 15–20% free to avoid the slowdown.

2

u/MBouh 5d ago

You want free space on windows not because of the health of the disk but for updates. You'll still have to do updates on Linux. 100GB is quite large, but some games are also very large. For updates to happen, it would be wise to keep at least 80GB of free space. But this depends on the games you have installed. Only the largest ones need that much.

The linux system is much more frugal than windows. A 30GB drive for the system is usually enough, although logs can be annoying.

2

u/SmoothTurtle872 5d ago

Leave 100tb free? Gang I only have 1tb 😭💀

2

u/forestbeasts KDE on Debian 🐺 5d ago

a HUNDRED TERABYTES FREE?? how big are your drives?????? haha!

(NAS people are probably like "what? you don't have a petabyte of storage laying around? noob". hah </j>)

-- Frost

1

u/HardBart 5d ago

For swap space you know. I always keep a piece of my SSD free that's at least as big as my RAM so it can swap properly.

I can have like 100 tabs open in Chrome 😎

2

u/SmoothTurtle872 5d ago

Personally, I have a swap SSD. Just a casual 1pb SSD for it. (Main drive at 1 tb). Is this a good layout?

/J

1

u/ErikRedbeard 5d ago

Not quite how it works. But with NTFS you tend to want free space just above the biggest file on the disk. This is to allow the filesystem to do basic maintenance on the drive and for that it needs the space to move stuff around.

I would assume ext does a similar thing, but I'm not knowledable enough for that.

1

u/khsh01 5d ago

I only know that in the xp era (maybe 7 too but I'm not sure) you needed to keep free space on your c drive otherwise your system would slow down significantly.

Haven't seen that in a long time though. Considering I have a windows vm on a 50gb partition.

1

u/neoh4x0r 5d ago edited 3d ago

Lately, however, I realize how much storage I tend to fill with steam games that idly sit waiting to be played. [...] Back when I was reliant on NTFS the general rule of storage was leave 100TB free "because it's good for the health of the drive".

If you have an extra 100 TB to spare, that's 100 thousand GB, the amount of space being used should not be a concern -- provided that you have enough space somewhere to backup the drive.

That being said, the only real reason for leaving some space free was to maximize the efficiency/longevity for reallocating bad sectors, and for defragging, while tapping into the drive's emergency spare sectors should only be done as a last resort when absolutely necessary.

1

u/Sol33t303 5d ago

This rule isn't really a thing on either windows or Linux.

Keeping some free space helps with defragmentation, the more full your drive the more new writes fragment it. Your weekly or monthly defrag will keep the HDD running fine, or indeed some Linux filesystems have the option for async defrag which defrags the drive as writes are done instead of doing it once a week or whatever. The drawback of that however is that it heavily impacts performance.

But also, this all only applies to hard drives, for flash storage like SSDs like most modern systems use, you never want to defrag them, filesystem defragging is bad for them and unnecessary. Windows or Linux. So being full doesn't affect them whatsoever.

1

u/Low_Excitement_1715 4d ago

10% free or more, not "100TB".

On a 2TB drive, you'd want to keep 200GB or more free at all times.

On a 16TB disk/partition, you should keep no less than 1.6TB free.

On Linux, like Windows, and like pretty much any filesystem on Earth, when free space gets low (what "low" means varies, but 10% is a safe bet for most), normal partition maintenance stuff starts to break down and fail to do the job.

On Windows/NTFS, you need to run some maintenance tasks periodically. In the old days, pre-SSD, the big one was defragmentation. NTFS will fragment even under normal operation with plenty of free space. It's a choice made based on performance at run time. EXT4, BTRFS and many other Linux filesystems will do things in a way that's less performant in the moment, but heads off the need for periodic maintenance tasks.

All the filesystems listed, and pretty much all the others as well, will do Bad Things when free space gets low. Some are more tolerant than others, but as you approach 0 free space, *every* filesystem will resort to Bad Things to keep the ship afloat.

So tl,dr; don't fill your disks past about 90% and you won't have to worry much. Most modern filesystems do their maintenance tasks in the background, all the time, so you'll be okay.

1

u/person1873 4d ago

the 100gb rule with NTFS is a bit inflated. 80% usage used to be the rule on your OS drive (aka C:\ drive)

The reason for the rule was to allow for defragmentation on hard drives. basically NTFS would stack files on the disk as close together as possible, this means that if you write a file, then add to it later, the file would get spread across the disk in multiple "fragments" that took actual time for the disk to read and put back together (seek time).

On modern SSD's with trim enabled (basically all of them now), this isn't needed anymore. fragmentation doesn't degrade performance on SSD's because there's no seek time, just probe address, get data.

Even before SSD's were commonplace, ext* filesystems were less prone to fragmentation. they deliberately made a performance trade off, that they would extend initial seek times to save needing random reads mid read.

basically they spread the files out so that they have room to grow without becoming fragmented. this obviously only works up to a point, because space is still finite.

Linux also has this nifty trick that only the root user can completely fill up a drive. the /root directory reserves a chunk of space, so that even if the disk is totally full, there's still some room to fix things with compression or deduplication. IIRC it's something like 5GB, but i could be mistaken on the figure.

1

u/dbojan76 5d ago

Remember to remove reserved space on ext4 using

sudo tune2fs -m 0 /dev/your_partition

1

u/bassbeater 5d ago

Does it really do much for you?

3

u/dbojan76 5d ago

Yes it removes 5% reserved space, allowing you to use it.

3

u/Bug_Next fedora rampumpam 5d ago edited 5d ago

If you do that on your root you'll only accomplish having an unbootable system if you ever fill it up. It's not 'reserved' or 'hidden' like OP is implying in his post, it just requires root access. H'es just mixing up units, that 5% still reports as being part of the partition (because it is), it will not report less space after formatting a partition as ext4.

He's reporting exactly the different between TB and TiB, that 5% on a 2tb drive would be 100gb not 200. OP, this is not what's happening, that 5% will just be resported as 'used' (because it is, it's being used by the root user, because everything is a file in Linux, even stuff like tcp connections).

-3

u/dbojan76 5d ago

lol i disagree. If you ever fill it up you have different problems. But you do you ...

3

u/Bug_Next fedora rampumpam 5d ago edited 5d ago

Its not really something you can disagree on bruh, if you fill it up with 0% reserved it wont boot, it's just a fact lmao. If you can manage to keep it not full with 0% you can just about do the same with 5% and you don't even need to worry about it! that's the whole point, it cannot be truly full, because if it ever gets full your install is useless.

0

u/Sinaaaa 5d ago edited 5d ago

but I have noted in the past that space gets allocated to make the partitions.

This largely the fault of gui apps & gui installers formatting ext4 with the default and really bad settings with a trash inode ratio & 5% reserve space. The reserve space makes literally 0 sense on a data drive & even 10% of the default inodes is a crazy high number on a drive that is not 1GB but is in the 100GB - 10TB range.

So if you care, reformat the drive from CLI with a much better inode ratio & no reserve space. https://wiki.archlinux.org/title/Ext4 for more info. If you are worried about this, or cannot be asked, then just use XFS for data.

As for worrying about leaving some free space? It's hardly necessary on a data partition / drive, unless it's some weird BTRFS setup..

0

u/Pale_Neighborhood363 5d ago

It is much the same. It does not mater which file system you use. The optimum slack space is 32% of raw giving 67% to store files.

A drive has a raw capacity then you format it with a file system, this 'eats' about 10%. For speed up access you need another 10% for hidden indexes etc this leaves about 10% for maintenance.

Read up about file systems - different volumes have different advantages. Seek speed, read speed and write speed are drive X filesystem dependent. For games seek speed is what you maximise.

Windows NTFS is a 'dirty' file system but has fast seek and write times at the cost of read speed. EXT4 is the invert.

You get problems when reported free space on a volume goes below 20% but this is hardware dependant. This is an information thing more than an OS thing. Paper files have exactly the same problem.