Introduction
By default, the size of the cPanel-generated /tmp filesystem is 4GB, or 5% of the /usr filesystem size, whichever is smaller. You may wish to increase the size of this filesystem so it can hold more data.
Warnings
- We recommend this procedure only be performed by an advanced system administrator and only during a scheduled dedicated time since it requires temporarily stopping the services that write to /tmp.
-
This procedure only works on servers on which cPanel has generated /tmp. cPanel-generated /tmp filesystems have /dev/loop in their names, for example:
[root@server]# df -h /tmp
Filesystem Size Used Avail Use% Mounted on
/dev/loop0 477M 2.4M 449M 1% /tmpIf your server's current /tmp filesystem does not contain /dev/loop in its name, the filesystem was created outside by cPanel by the server's operating system or data center, and you will need to seek assistance from your data center with increasing the size of /tmp.
-
This procedure does not work on servers running in Virtuozzo or VZ environments.
Procedure
- Log in as root, either via SSH, or WHM's Terminal.
- Open "/scripts/securetmp" in a text editor
-
nano /scripts/securetmp
-
- Find and modify the 'tmpdsksize' value to the desired size. For example, this sets the value to 10GB:
-
my $tmpdsksize = 10485760
-
- Use "#" characters to disable this section of the script:
-
my $five_percent_of_available = ( $available * 0.05 );
if ( $five_percent_of_available > $tmpdsksize ) {
$tmpdsksize = $five_percent_of_available;
}
my $FOUR_GIG_k = ( 1024 * 1024 * 4 );
if ( $tmpdsksize > $FOUR_GIG_k ) {
$tmpdsksize = $FOUR_GIG_k;
}
-
- After you're complete, the section should look like:
-
# my $five_percent_of_available = ( $available * 0.05 );
# if ( $five_percent_of_available > $tmpdsksize ) {
# $tmpdsksize = $five_percent_of_available;
# }
# my $FOUR_GIG_k = ( 1024 * 1024 * 4 );
# if ( $tmpdsksize > $FOUR_GIG_k ) {
# $tmpdsksize = $FOUR_GIG_k;
# }
-
- Check which services are currently using /tmp:
-
lsof | grep /tmp | grep -v deleted
-
- Using the output from lsof, temporarily disable monitoring for the services using /tmp. For example:
-
whmapi1 configureservice service=cpsrvd enabled=1 monitored=0
-
whmapi1 configureservice service=mysql enabled=1 monitored=0
-
whmapi1 configureservice service=httpd enabled=1 monitored=0
-
- Using the output from lsof, stop the services that use /tmp. For example:
-
/scripts/restartsrv_cpsrvd --stop
-
/scripts/restartsrv_mysql --stop
-
/scripts/restartsrv_httpd --stop
-
- Unmount /tmp and /var/tmp:
-
umount -l /tmp
-
umount -l /var/tmp
-
- Move /usr/tmpDSK file to another location (in case you need to mount it elsewhere to preserve data):
-
mv /usr/tmpDSK /usr/tmpDSK_bak
-
- Run this script to create the larger /tmp filesystem:
-
/scripts/securetmp
-
- Restart the services you stopped previously. For example:
-
/scripts/restartsrv_cpsrvd --start
-
/scripts/restartsrv_mysql --start
-
/scripts/restartsrv_httpd --start
-
- Re-enable monitoring for the services. For example:
-
whmapi1 configureservice service=cpsrvd enabled=1 monitored=1
-
whmapi1 configureservice service=mysql enabled=1 monitored=1
-
whmapi1 configureservice service=httpd enabled=1 monitored=1
-