Calls to sync/fsync slow down after 30 minutes uptimesmartctl -c, is the drive running some of it's self-tests ? I don't recall the specifics, but many years ago some friends of mine tracked down a periodically occurring slowdown of our storage servers to the drives running selftests at that time monopolizing io.

Sep5

comment

Static files give ever changing checksum value on LinuxI'm still not entirely sold on this not being caused by an userspace program rather than kernel-bug/faulty hardware. For faulty hardware, given that this is tmpfs, you'd be seeing either memory corruption, or in-flight corruption, which memtest should have caught, I'd also have expected kernel oopses if memory is randomly mangled(It'd be weird if it's isolated only to bodies of files on tmpfs) Unless you've already tried, I'd suggest looking into inotify, and have inotify watches on the files watching for modifications, when you see the files change, and lsof for seeing if the files are opened

Adding an empty line at the end of inputIf you're wondering about the { list; } form, see the "Compound Commands" section of the manual page for bash. It executes a command-list in the current shell environment. The reason we use echo at the end is just to append a newline, by default echo emits a trailing newline. The reason we use the { list; } form has to do with the way bash parses and sets up redirections/pipes. somecmd; echo | someothercmd, will just connect a pipe between echo and someothercmd. With the compound command, the entire command list will have it's stdout connected with a pipe to someothercmd.