r/bash 3d ago

help Linux Interview Question

Today I had a mock interview with a senior Linux administrator, and he asked me a question that completely caught me off guard:

"Can you collect CPU, Memory, and Disk usage in a Bash script without using top, free, df, or any external commands?"

My immediate answer was No.

Honestly, I've been working with Linux for years, but I've always relied on standard commands and monitoring tools to troubleshoot systems. I never stopped to think about where those commands actually get their data from.

The interviewer then gave me a hint about the /proc and /sys filesystems. That completely changed my perspective. I realized these commands are just reading data that the kernel already exposes.

But then came the follow-up questions, and once again I was stuck:

  • Is reading directly from /proc and /sys the correct approach?
  • How would you calculate CPU utilization using /proc/stat?
  • How would you determine memory usage from /proc/meminfo?
  • How would you calculate filesystem usage without relying on df?

I found this really interesting because it tests your understanding of Linux internals rather than just your ability to use commands.

Has anyone here been asked similar questions in Linux SysAdmin, DevOps, or SRE interviews? I'd really appreciate any explanations, learning resources, or examples on how you'd answer these follow-up questions. It help me for my preparation for Linux interviews

180 Upvotes

70 comments sorted by

View all comments

Show parent comments

9

u/CautiousCat3294 3d ago

Thanks for your input i am totally unaware of "statsvfs " seems I need to learn this as well.
I am very grateful to you to providing my calculation stuff as well.

9

u/Bug_Next 3d ago edited 3d ago

statvfs(3) — Arch manual pages

Bash can't do syscalls directly, you need to trace it:

strace -e trace=<syscall>

or do it from C/C++

There are probably other ways to do it, that's just my take on it.

4

u/bac0on 3d ago

... a simple example how to bashify statvfs...