Hi guys, I want install opensuse 11.3 on my pc. During installation I’m required to edit partition setup . I want setup ext4 partition for best performance, but there are few things which I would like to ask you:
1-Stride lenght in block.
I’ve searched with google and seemed to me like something to use only for raid configurations. Is that correct?
2-Bytes per inode.
Since I have 3 partition to use only for large file(several MB) should I setup to the maximum (32768) , so that I’ll have more disk space to use?
3-Percentage of blocks reserved for root.
Does anybody knows what’s that? Is only for root partition or apply to others as well?
4-Disable regular check?
What does that? I couldn’t find any info about. Does have an impact on performance?
5-Directory index feature.
Do you suggest to turn it on or not?(Please also explain why)
On Fstab
6-Access Control List: what does that?
7-Extended user attributes: keeping this option checked does just give the possibility to use EUA or activate some of them?
8-Arbitrary option value: do you know any option could help?
Does nobarrier option improve performance? How should I insert it exactly?
Me too!
I will be eagerly following this thread for answers to these, and some more installation speed-breakers!
A brief explanation on what each of these paramater does & feature-benefits would be very helpful on those windows - but I also must admit, that in most cases, the default values serve well - though it does not help in a deeper understanding of the system.
Take the defaults unless you understand well the meaning of the parameters. I took the defaults, even though I could research and understand them. You’d probably spend more time trying to work it out than you would save in better performance.
Even though i did some research already, I thought I would ask here, as probably there are many user here who have quite good knowlodge.
Maybe you are right about time spent/gained but it’s also about curiosity .
I would recommend enabling acl, xattr and dir index. Those are definite gains. They are also usually defaults too, not surprisingly.
Reducing bytes per inode saves a trifling amount of space and this also affects the xattrs that can be stored. The main reason it’s there is because some older systems and software (e.g. proprietary backup software) can’t handle 256 bytes/inode.
Things like stride blocks I would leave alone. Unless you know your workload and how the disk parameters interact with that, you might actually make things worse.
As for percentage free space, some people look at the default 5% and go waah!, that’s 50GB of my 1TB disk, I must reduce that. Sure you can, but the fact is, when you are within 5% of filling the disk, you would be looking for a new one anyway. So all it buys you is a tiny bit more time. And the way disk costs are going, that’s probably only a few dollars savings. So I don’t bother to fiddle with that.
The one option that would be worth enabling is relatime or noatime. But make sure you are not running software that is affected by noatime, like mutt.
Have fun.
It seems to me you are confusing here ‘bytes per inode’ with ‘inode size’.
It’s ‘inode size’ parameter which if set to 128bit rather than 256bit default size, xattrs can’t be stored. From what i’ve read bytes per inode afftects the number of files who can be stored in a partition, something like ntfs block size.
Yes, fair enough, I meant inode size.
However do you know which kinds of filesystems require a lower or higher number of bytes per inode? If you want to fiddle with this parameter, you have to be able to answer this question. Generally systems run out of data space first rather than inodes except where there are a lot of small files. This is because inodes are cheaper so those are allocated more generously.
I have personally 2 partition which will be used only for virtual disk images (so every partition won’t contain more than 4-5 .vdi files) and 2-3 partition with media files and other stuff as pdf .exe and documents anyway bigger at least 100KB.
For this partition if I set the maximum ‘bytes per inode’ parameter (which appear to be 32kb) I should gain something like 6% more disk space, which being for free it’s better than loosing.
In fact if you consider that by default any inode need 256 bytes and ususally are 4096 bytes. So by default 6.25% (256/4096) of a ext4 partition is occupied by the inode. Increasing the bytes per inode ratio I can use an extra 5.5% of the disk which would be wasted in my case anyway.
Sure, go ahead. But as I said, 5% of a disk is only a few dollars saved these days vs the risk of running out of inodes before data first.
Also there are other filesystems available for Linux with different layouts which may have better performance for particular workloads so you can also have more fun digesting that sort of information.
I don’t see honestly any viable alternative to ext4 on linux in this moment.
-Btrfs is still not mature and progresses comes slowly
-jfs: i loved it, but it lacks serious support
-xfs: I don’t like the fact that is the most inclined fs to fragmentation
-resierfs:well I don’t think I would need to spend any words to justify its exclusion
i am not an ext4 user, so my information may be out of date and unreliable. And of, course, incomplete.
No, it is for the root user (root account). If your system runs out of blocks completely, it will crash hard and be difficult to recover directly. If a few blocks are reserved for system usage, you will be able to get in and do maintenance (eg delete log files, temporary files, etc) until the system is workable again. Otherwise your options will be to use a live CD or to put the disk into another computer.
4-Disable regular check?
What does that? I couldn’t find any info about. Does have an impact on performance?
Don’t do it. A regular check allows problems to be fixed. keeping your data is a higher priority.
Does nobarrier option improve performance? How should I insert it exactly?
From what I understand, write barriers improve performance, but it probably depends heavily on usage profile.