Вы можете проверить с помощью df -T и посмотреть, смонтирована ли /tmp как отдельная файловая система. Если это не так, существует высокая вероятность того, что он не будет очищен автоматически. Например, в моем окне CentOS 7.1 /tmp является лишь частью корневой файловой системы (/) и содержит старые файлы до последней перезагрузки.
На моем ноутбуке df -T дает мне:
Filesystem           Type        1K-blocks       Used  Available Use% Mounted on
dev                  devtmpfs      1912020          0    1912020   0% /dev
run                  tmpfs         1919840       1008    1918832   1% /run
/dev/mapper/vg0-root ext4        118698260   89524160   23121444  80% /
tmpfs                tmpfs         1919840     168044    1751796   9% /dev/shm
tmpfs                tmpfs         1919840          0    1919840   0% /sys/fs/cgroup
tmpfs                tmpfs         4194304        168    4194136   1% /tmp
/dev/sda1            ext4            95054      59743      28143  68% /boot
tmpfs                tmpfs          383968        104     383864   1% /run/user/1000
Все tmpfs находятся в оперативной памяти и очищаются при перезагрузке.
Если /tmp не монтируется отдельно, вы можете добавить запись в /etc/fstab например:
tmpfs /tmp tmpfs nodev,nosuid,size=nG 0 0
Это позволит создать файловую систему RAM размером n Гига. Обязательно укажите меньшее число, чем объем доступной памяти.
В качестве альтернативы user3163621 , вы можете просто добавить запись в crontab, например:
@reboot rm -rf /tmp/* /tmp/.*