Hi Micah--

Thanks for adjusting the default vserver device tree to include
/dev/shm!

On Sat 2008-11-08 14:07:20 -0500, Micah Anderson wrote:

> I think its probably best to leave it as a regular directory, rather
> than a tmpfs. The reason is because we already are providing a very
> minimal /tmp as a tmpfs, and this eats into the available memory on the
> entire box (this of course can be increased as needed, but it occupies
> memory space), adding a second tmpfs that must get mounted at /dev/shm
> will further complicate this resource problem. I think that the best way
> to handle it is to leave it as a directory, and let the admin decide if
> they want to remount it as a tmpfs for optimization purposes and based
> on their particular host's memory availability.

It was my impression that a tmpfs only consumes RAM when there is data
in it; for example, you can allocate a very large tmpfs with no
increase in memory consumption:

[0 [EMAIL PROTECTED] ~]# grep mnt /proc/mounts
[1 [EMAIL PROTECTED] ~]# free
             total       used       free     shared    buffers     cached
Mem:       1027444     904428     123016          0      59724     497056
-/+ buffers/cache:     347648     679796
Swap:      1572856        968    1571888
[0 [EMAIL PROTECTED] ~]# mount -t tmpfs tmpfs  /mnt -osize=400G
[0 [EMAIL PROTECTED] ~]# grep mnt /proc/mounts
tmpfs /mnt tmpfs rw,size=419430400k 0 0
[0 [EMAIL PROTECTED] ~]# free
             total       used       free     shared    buffers     cached
Mem:       1027444     904320     123124          0      59736     497056
-/+ buffers/cache:     347528     679916
Swap:      1572856        968    1571888
[0 [EMAIL PROTECTED] ~]# df -h /mnt
Filesystem            Size  Used Avail Use% Mounted on
tmpfs                 400G     0  400G   0% /mnt
[0 [EMAIL PROTECTED] ~]# umount /mnt
[0 [EMAIL PROTECTED] ~]# 

And surely there are other ways that a guest vserver can also consume
RAM aside from a tmpfs, like a memory-hungry process!

Is it that the RAM in a tmpfs is by definition outside of the vserver
framework's ability to limit RAM consumption?  If so, why is /tmp set
up that way at all, when it does not need to be?  Why not default to
no tmpfs mounts?  To my mind, there is a better argument for /dev/shm
to be a tmpfs than there is for /tmp, since it is required for POSIX
shared memory compatibility, but i am probably missing the bigger
picture.

I'm not sure i understand the rationale behind the decision of when to
ship a tmpfs by default and when not to.  Can you explain?

     --dkg

Attachment: pgpwsyKuUXQe4.pgp
Description: PGP signature

Reply via email to