I'm running a script that checks disk usage using the `df` command every 10 seconds, specifically looking at the used space percentage with `df / --output=pcent`. While `df` is pretty fast, I'm curious if there are even quicker or more resource-efficient ways to get this info. I've seen some examples where you can gather disk stats from the `stat` command, but it seems only marginally faster. I wonder if there are any files in `/sys/` that might offer a quicker solution, though I doubt that exists on Arch Linux. Writing this in a compiled language could be the most efficient, but that feels a bit excessive for what I need. Any shell hacks or better methods you can suggest?
5 Answers
Although it might be tempting to keep tweaking for speed, this really isn’t worth the effort. I did a little experimenting, running `stat` and `df` in a loop, and surprisingly, `df` was almost as quick as direct calls to `stat`. For instance, I found running `df / --output=pcent` returned the percentage almost as fast as raw `stat` calls.
I actually wrote a small C program that calculates the disk usage a bit faster. It uses `statvfs` to fetch data directly. While it's not a night-and-day difference, in my tests, it finished slightly quicker than `df`. I wrote a program that outputs the usage percentage quickly.
If you're looking for alternatives, try `findmnt -no USE% /`. It's a quick command that returns the percentage of disk usage without too much overhead.
If you're interested, consider parsing information from `/proc/mounts` to track down usage stats instead of using heavy commands like `df`. Just reading that file might give you a path to optimize your resource usage.
Honestly, using `df` is pretty optimal for what you're doing. There’s no magical file in `/sys/` that skips a syscall for getting filesystem usage. All accurate tools like `df` and even `stat` will hit the kernel, so the gains you’d get from switching away from `df` are minor at best.

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures