On 12/11/11 23:25, Josselin Mouette wrote: > Le samedi 12 novembre 2011 à 23:12 +0100, Samuel Thibault a écrit : >> Adam Borowski, le Sat 12 Nov 2011 23:08:08 +0100, a écrit : >>> You need to increase the swap size by the amount you'd use for /tmp. >> >> Well, the idea of such case is precisely to *not* use swap, but real >> disks. Such software already know how to manage its memory and >> disk-backed memory (thusly stored in /tmp) > > Practically speaking, the only significant difference is that files are > not forced to disk as early. Otherwise, if you have a large enough swap, > pages of a file on a tmpfs that are not used enough will be swapped. And > pages of a file on a regular filesystem that are used enough will be > kept in the buffer cache. > There are another differences: When the system is swapping heavily, if you are not using a preempt kernel the hole system will become so unresponsive while the swapping process is taking place that even your mouse pointer will stop moving. And Debian kernel is no preempt. So, if having /tmp with tmpfs will make your system to swap more often (huge files on /tmp) then any performance gain by tmpfs will be buried by this swapping hell. Also, if you are near to run out of virtual memory (RAM+SWAP) for whatever reason: few ram, many apps open... an application can trigger the OOMKiller by simply writing data into /tmp if you are using tmpfs. > OTOH, for a wide range of applications that do a lot of small writes, > using tmpfs is a huge gain. > Linux already has a disk cache buffer that works very nice for this case of doing lot of small read/writes into a file. Also, when its time to flush the data to disk, or read data no previously cached, the kernel IO scheduler will take care of optimizing it in order to reduce the disk spinning and improve the performance. So... while is true that tmpfs is faster than using the disk for /tmp, it isn't such big deal. And IMHO I don't think that this performance gain outweighs so clearly the problems exposed that justify making tmpfs on /tmp the default on Debian.
Description: OpenPGP digital signature