A Funny Thing Happened on the way to 100% Full tmpfs
I’ve been having trouble with XCache’s datastore lately and was prompted to revisit my SHM/tmpfs File-Based PHP Cache/Datastore in RAM strategy.
I mounted a 256MB tmpfs slice like this:
none /mnt/ram tmpfs defaults,noatime,size=256M 0 0
Somehow, after the storage was exhausted the number of files kept increasing.
$ watch "ls | wc -l"
To my surprise new, empty files were being created with a random string attached to their name.
Interestingly, while these non-files continued to accumulate the reported amount of storage used by tmpfs never changed. One might expect these file entries to be taking up some amount of space, somewhere.
I’ve done as much research as time will permit but haven’t found the purpose of this behaviour. Since the altered file name and lack of content makes these files void as far as my fcache implementation is concerned it highlights the importance of thorough garbage collection.