0

The use% of most my partitions (including /,/home, and two ntfs partitions shared between Windows and Ubuntu) are more than 90%.

Now I plan to replace my hard drive with a bigger one, and install a new Ubuntu release. So I will have to design how much the size of each partition will be.

Are there some rules of thumb that suggest what percentage of unused space for a partition will be good for whatever reasons, such as

  • performance,
  • not stressing out due to limit space,
  • ext's auto defragmentation,
  • backup
  • ...?

For example, is it generally better to keep 50% unused for some above reasons? Will 50% unused be a waste? what range of percentage is better for balancing between space wasting and other factors?

Does the filesystem type matter? I am now using ext4 and ntfs, but will probably use ext4 exclusively after I install a latest Ubuntu release.

closed as primarily opinion-based by muru, Eric Carvalho, user117103, Parto, Sylvain Pineau Mar 5 '15 at 23:04

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    The only hard number I know is that when / is 95+% used performance drops. And in my experience this mainly applies to servers and even then mainly when using a printserver and/or sql server. – Rinzwind Feb 27 '15 at 12:18
  • DO you know why and what performance drops? It is for my laptop – Tim Feb 27 '15 at 12:20
  • the percentage that is best depends on average file size of files being used. – Skaperen Feb 27 '15 at 12:31
  • a tight filesystem can result in file contents being scattered around more – Skaperen Feb 27 '15 at 12:33
  • @Skaperen: can you be specific? most files are around 10MB, many are below, and some can be more than 100MB – Tim Feb 27 '15 at 12:33
1

Depending on your use case (and budget) you should use the following % and absolute values (whichever is largest) for DATA HDDs. (SSDs are a totally different kind of animal, as are system partitions)

  • 5% Don't go lower then this as Linux will start fragmenting

    The largest file on your disk.

  • 10% for machines that need high performance but where the budget is restricted

    Twice the size of the largest file on your disk

  • 33% for machines that need optimum performance and budget is relaxed

    3 times the size of the largest file on your disk

Why?

  • 5: when you copy large files when 95% of the disk is full, Linux will start fragmenting and the usual defragmentation strategy is: back-up, wipe, restore
  • 10: root will mostly have enough space to perform even under stressed conditions.
  • 33: the hard disk heads will not have to move outside of 2/3 of the radius of the disk, therefore limiting the distance the heads will have to travel to read their data, therefore increasing the speed of the average disk access compared to using them at 100% unless stressed conditions force them (only available to root)

To actually tune the file system to these percentages:

tune2fs -m iPercentage /dev/XdY

where iPercentage is the % you choose/calculate and X is the drive type and Y is the drive letter. E.g.:

tune2fs -m 10 /dev/sda
  • And as you're going to use EXT4: an additional tip for your / partition: make it as large as the largest temporary file you're ever going to create (In my case I've got a 64GB / of which 15% is actually used), but when I download a 32GB torrent, it's created in /tmp and then moved over to the HDD while keeping 50Mbps download speed (my ISPs maximum throughput) – Fabby Mar 4 '15 at 10:31
  • And please don't thank me! ;-) If you like my answer, just click the little grey under the "0" now turning it into beautiful green. If you do not like my answer, click on the little grey down-arrow below the 0, and if you really like my answer, click on the little grey checkmark and the little up-arrow... If you have any further questions, go to askubuntu.com/questions/ask – Fabby Mar 4 '15 at 11:13
  • you mentioned SSD are different, how? I'm going to buy my first SSD and it's only 250GB and my home directory is bigger than that, so I'm selecting only the files I read the most often to stay in the SSD, but how full can I make the SSD? I'd like to put as much as I can on the SSD but without going over any safe percentage needed for optimal operation. – Felipe Dec 8 '16 at 5:14
  • @Felipe If you've got a new question just ask... It's not like you have to pay less for a comment than for a question! ;-) – Fabby Dec 8 '16 at 19:34
  • Sure, but given that you already partially answered here, it was a easier and a more direct way to actually ask the person that knows :) I'll post a new question anyway – Felipe Dec 8 '16 at 20:09
3

While it would be impossible to give a fixed percentage of space you should keep empty, following points may help you to find a range. Also note that most factors depend upon the net condition of drive, rather than the partitions.

  1. Fragmentation
    Linux Fragments very less, so this should be a very vague issue.
  2. Performance.
    Again, there would be very less an issue of performance. The speed would more depend upon the read write speed of disk than on how much it is filled. Also the minor effect, if any, would be considered only for servers, not for personal computers. You may choose to use SSD for better performance.
  3. Backup
    It is better to backup data on a separate drive, so that you won't lose data in case of drive failure. So this should not be a issue.
  4. File overwriting
    When you delete files, they are not really deleted, but just removed from the index(look at man shred). If you have a filled drive, you have a greater chance of overwriting your old deleted files, thus increasing security.

Now having considered these factors. I would suggest,

  • /boot,if you decide to have a separate one, should have enough space. Maybe a extra 10GB should suffice.
  • /home would be better have as much as it can, as this will serve you in case
    1. You need to copy large files in case of an emergency(a Hard drive is failing)
    2. You have to use the partition as a transition device for transferring files from one device to other.

I would recommend using the ext4 filesystem, for reason that Ubuntu and most linux would probably support it better than anything else. It also has some features which may not be in others(eg. less defragmentation)

Not the answer you're looking for? Browse other questions tagged or ask your own question.