The default GUI install of ESX4 makes the /tmp partition 1GB and even then it is only categorized as optional. I’ve been asked several times why you’d want to make /tmp any bigger. If it fills up you just clear it out, right?
Well here’s a good reason. It seems that VUM (vCenter Update Manager) uses /tmp. When you stage updates, VUM copies all the patches to the folder /tmp/updatecache. It does the sensible thing and checks that there is enough space first, but if it can’t then it tries to create a ramdisk. I don’t think I’m that keen on my server’s ram being tied up with patches. Sometimes you might want to stage the patches days in advance of an outage. I’d hope that the ESX is clever enough to dump the ramdisk if there was any sort of memory contention, but still.
Anyway, with ESX3 I know the patches could accumulate to quite a size (a couple of GBs if you left them a few months). I hear ESX4 is better in this regard, however I would suggest keeping at least 2GB for /tmp during the install.
VUM isn’t a crucial service. You can always manually copy patches to a different partition, but VUM (especially the new staging feature) is a real time-saver so I know I’ll be making sure there is plenty of space in /tmp.
8 thoughts on “Don't make /tmp too small”
Good post. Interesting point.
BTW Any idea where patches are staged to on host servers running embedded ESXi 4?
All of my recent installations use embedded ESXi, Am I burning up RAM by staging patches?
I’m not sure where the ESXi patches are copied too. However I think that the ESXi patches just come as complete images. There are 2 different copies on the ESXi server, the running one and the previous edition. So when you patch a server, it copies a new image over the standby image, and then changes the start-up config so you reboot into the newer one. Your current images then becomes your backup. However I don’t think these images are particularly big, and as your just replacing an old exiting image, then you shouldn’t need any additional space.
If anyone has a better incite into this then please let us know.
/tmp is usually stored in memory, not on the disk. So it’s usually a ramdisk. Inside the COS. So that 800MB RAM you allocated….
Steve, have you got any links for that? I’d like to do a bit more reading around this. So your saying it caches some of the tmp stuff in RAM then?
so how do check the size of the /tmp directory? and how do we clean it out?
so how do check the size of the /tmp directory?
The easiest way to check your /tmp directory, is to log into the console and run the command “vdf -h”. If the ESX server has its /tmp directory as separate partition, then it will be listed with its size and free space. If its not listed, then this means it that the tmp directory is just part of the / (root) partition.