我有一个用于/opt/otrs/var/tmp
缓存大量临时数据的应用程序。供应商建议,一种选择也可以将此目录放在 ramdisk 上(如果您有足够的 RAM)。我的问题是如果 RAM 磁盘已满会发生什么?操作系统是否有可能交换到交换分区,或者它与相关应用程序完全相关吗?
答案1
使用 RAM 后,它将使用交换区,在消耗完所有交换区后,你可能会看到内存不足杀手启动,这很少是一件好事。
如果您不信任该应用程序,值得对其可以消耗的最大大小进行限制。
例如,限制为 RAM 的 50%。
[root@localhost ~]# mount -o size=50% -t tmpfs none /mnt
[root@localhost ~]# df -h /mnt
Filesystem Size Used Avail Use% Mounted on
none 496M 0 496M 0% /mnt
[root@localhost ~]#
例如,限制为 1,000,000 字节。
[root@localhost ~]# mount -o size=1000000 -t tmpfs none /mnt
[root@localhost ~]# df -h /mnt
Filesystem Size Used Avail Use% Mounted on
none 980K 0 980K 0% /mnt
[root@localhost ~]#
更多信息请访问https://linux.die.net/man/8/mount
当您具体询问有关 OTRS 上 tmpfs 的使用时,另请参阅https://doc.otrs.com/doc/manual/admin/stable/en/html/performance-tuning.html#performance-tuning-otrs-cache(与 OTRS v6 特别相关,但以前的版本具有类似但不相同的方法)
shell> /opt/otrs/bin/otrs.Console.pl Maint::Session::DeleteAll
shell> /opt/otrs/bin/otrs.Console.pl Maint::Cache::Delete
shell> sudo mount -o size=16G -t tmpfs none /opt/otrs/var/tmp
# add persistent mount point in /etc/fstab