4 ms·
Why didn't it work? Was try 2 ionice?
by mherdeg 4y ago
Why didn't it work? Was try 2 ionice?
- b112 4y agoNot the parent, but ionice only works with certain elevators. And elevator choice mattered a lot on spinning disks.
- jeffrallen 4y agoNice reduces your scheduling priority for access to the CPU, which means it might take your niced rm longer to do the processing to submit a bunch of i/o to the kernel. But once those i/o ops are in the kernel, they are competing directly on an equal playing field with the latency critical i/o ops of the real app, causing the same degradation of latency to the end users. ionice was not available on my platform, thus the invention of trickle-rm. Now the second interview question: how did trickle-rm work? How can you simply "reflect" the back pressure of the "x rm's per second" constraint back onto the "walk the directory tree to find the rm's to do" so that the tree walk generates a trickle of i/o operations?
- aeonik 4y agoRun rm in a bash loop for each file and sync after each iteration? I'm surprised that rm's io would cause that much of an issue. I thought it only removed entries from the partition table.