Resize/disable /dev/shm filesystem
# Tested on RHEL 5, 6 & 7
# Notes from www.walkernews.net, www.generation-linux.fr and Red Hat web site# Thanks to big memory size, nowadays most of RAM is not used at all. It is thus possible # to allocate a part of this physical memory to be used as storage.
# The name given to a temporary unix file is ‘tmpfs‘. From Linux 2.6 on this tmpfs is based # on ramfs. It is possible to fix a limit to its size in a way that system will allocate # memory dynamically.
# By default, RHEL and most Linux distributions mount tmpfs (a RAM-based temporarily
# If that default size is not something expected, we can increase or reduce the /dev/shm # filesystem size.
# We may drop or disable this temporarily RAM-based filesystem entirely, to prevent it
# By default, tmpfs is mounted during system start-up and its definition in /etc/fstab looks # like this (on RHEL 7 there’s no specification in /etc/fstab file by default):
tmpfs /dev/shm tmpfs defaults 0 0
# What produces, for a system with 16 GB of RAM, a F.S. like this:
# Creating own tmpfs
# Create a mount point on /mnt/mytmpfs.
# Change directory permissions so anyone will be able to read/write/execute on it
chmod 777 /mnt/mytmpfs
# Finally, mount ‘tmpfs’ the usual way
mount -t tmpfs -o size=256M tmpfs /mnt/mytmpfs
# Remember that if we don’t specify the size, it will be half the RAM.
# For this F.S. to be mounted during system boot-up, add it to /etc/fstab file:
tmpfs /mnt/mytmpfs tmpfs defaults,size=256M 0 0
# To increase or decrease /dev/shm filesystem size
# Open /etc/fstab and locate the line of /dev/shm and use the tmpfs size option to specify # desired size (on RHEL 7, add the line if not present):
# e.g. 512MB:
tmpfs /dev/shm tmpfs defaults,size=512m 0 0
# e.g. 2GB:
tmpfs /dev/shm tmpfs defaults,size=2g 0 0
# To make change effective immediately, run following mount command to remount the # /dev/shm filesystem:
mount -o remount /dev/shm
# Disabling /dev/shm filesystem
# Actually, Linux allocates the memory for this tmpfs on demand basis, up to the maximum # size shown in ‘df -h’ command output. If none of the application is using the /dev/shm, # this tmpfs in fact does not consume any memory space. So, why disable it?
# Anyway, if you prefer to disable /dev/shm temporarily just execute the umount command:
# To prevent tmpfs from auto-mount each time RHEL boots up, just comment out or delete
# On RHEL 7 API file systems are mounted by systemd. As they constitute an important mean of # communication kernel< ->userspace and userspace<->userspace they are mounted automatically # without user confirmation. It is possible to disable the automatic mounting of some of them, # but /dev/shm should always become available, so better leave it mounted 😉