I don't think a directory ever reduces in size on its own although it may for certain filesystem types (none that I know of, though). In other words, it stays at whatever its peak size was.
If you want to reduce it, the simplest way is often to create a new directory in the same location as the old, move the files across, then delete the old and rename the new to replace it.
You may have to do this in single-user mode if your system is an important one, so as to minimise the possibility of affecting other users. If it's solely your box, you can probably get away with just doing it when little else is running.
Here's the starting point for the /tmp
directory:
mkdir /tmp_new
mv /tmp/* /tmp_new ; mv /tmp /tmp_old ; mv /tmp_new /tmp
Then you can check to ensure /tmp_old
is empty before removing it completely.
Another possibility would be to try:
mv /tmp /tmp_old ; mkdir /tmp ; chmod 777 /tmp
This will hopefully preserve open files (inodes) though in the /tmp_old
directory, with new temporary files being created in your brand new (smaller) directory. Then just reboot your box (cleanly) if possible and remove the /tmp_old
directory.
You may want to check the permissions of your current /tmp
directory to ensure you set them correctly for your new one.