Re: [HEADS-UP] Rawhide: /tmp is now on tmpfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



So, how does this scenario work?

* The machine has 4G of RAM,
* > 50% RAM is being used by actual software (firefox, eclipse, mail client, etc), so the other < 50% is pagecache
* The machine has 4G of swap, none of which is active.

So then a user drops a 8.5G DVD image into /tmp.

On a traditional /tmp-on-disk if it filled up then you'd get an ENOSPC and user things can't write to disk, but the OS will be fine since 5% is reserved for root.

With tmpfs the pagecache will fill up and start to overflow to swap...until swap fills up. What happens then? As I understand it, the program gets ENOSPC and there is NO free RAM: pagecache is full of that dvd data. swap is full of that dvd data. The rest of the RAM is program data that has nowhere to page out to. The system may not have crashed, but it is fubar: welcome to OOM killer territory

The answers of "don't do that, use /var/tmp" or "allocate more swap" are crap. The software isn't broken if it writes to /tmp, regardless of how many bugzilla entries get filed. Allocating more swap is a cop out because you've only pushed the problem to some file size that is larger, and you've tied up disk for a worst case scenario that may never come.

This introduces behavior that is highly dependent not only on the memory configuration of the machine, but the usage at the time the allocation happened, making this impossible to troubleshoot.

What are the benefits of this change again? Clearing /tmp at shutdown is interesting, but can be accomplished in other ways (although not as cleanly), and I have yet to see any hard numbers on I/O even though I have asked repeatedly.

Brian


On 06/20/2012 01:18 PM, Gregory Maxwell wrote:
On Wed, Jun 20, 2012 at 12:57 PM, Reindl Harald <h.reindl@xxxxxxxxxxxxx> wrote:
i bet now someone is coming up wth "he must not dump a 100 Gb file to /tmp"
this is the wrong perspective
the right one is "the system must not crash if someone does"
Good thing it doesn't.


--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux