Question about inode table size spikes - why?

I have an Ubuntu server with a Munin install that's been running for a few months. One thing I'm curious about is the inode table usage. It spikes daily then slowly returns to baseline over the next 24 hours or so, so I'm not concerned by it. What is going on behind the scenes though, or how are inodes allocated? I do have a daily Logwatch report that is emailed around the time of the spike, but why the slow decrease thereafter?

Posted Jul 9, 2014, 3:19 PM UTC

63
SupermansOlderBro•

Does it correspond to you doing something like a backup?

1
neoice•

performance graphs can be difficult to derive meaning. what's the total inode availability? you're fluctuating 50k inodes. if you can have 5 million inodes, your only fluctuating 1%. 1% is rarely even worth caring about.

inodes are a file system data structure, basically pointers to blocks. I'm a bit rusty on the implementation details... the main culprit for inode usage would be creating lots of small files or many directories. a backup process could do that, maybe a cache rebuild or file indexing process (mlocate, man... check crontabs)

if you really wanted to pinpoint it, you need something more granular. SystemTap would probably let you do it, but I don't know much about it. I'm sure dtrace could do it, too bad it's stuck in Solaris/BSD :(

1
oxipia•

Are you sending out mail? Are you backing up? Look at the spike times and compare with any cron jobs. Any correlation? Do teh spikes occur at the same time? What's the server used for? We need more information

1