缺省情况下,tmpfs 文件系统的大小不受限制。因此,tmpfs 可以不断增长,直至占满可用的系统内存和交换空间。因为 /tmp 目录供所有应用程序和用户使用,所以某个应用程序可能会占用所有可用系统内存。同样,恶意的非特权用户可能通过在 /tmp 目录中创建大文件来降低系统速度。为避免性能影响,您可以限制每个 tmpfs 挂载的大小。
您可以尝试多个值来获取最佳系统性能。
开始之前
要编辑 vfstab 文件,您必须成为分配有 solaris.admin.edit/etc/vfstab 授权的管理员。要重新引导系统,必须已为您指定了 "Maintenance and Repair"(维护和修复)权限配置文件。root 角色具有所有这些权限。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限。
% prtconf | head System Configuration: Oracle Corporation sun4v Memory size: 523776 Megabytes System Peripherals (Software Nodes): ORCL,SPARC-T3-4 scsi_vhci, instance #0 disk, instance #4 disk, instance #5 disk, instance #6 disk, instance #8
根据系统内存的大小,计算内存限制时您可能希望将大系统的阈值设为大约 20%,小系统的阈值设为大约 30%。
所以,对于较小的系统,请使用 .30 作为乘数。
10240M x .30 ≈ 340M
对于较大的系统,请使用 .20 作为乘数。
523776M x .20 ≈ 10475M
# pfedit /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # ... #swap - /tmp tmpfs - yes - swap - /tmp tmpfs - yes size=10400m /dev/zvol/dsk/rpool/swap - - swap - no -
# reboot
% mount -v swap on /system/volatile type tmpfs read/write/setuid/devices/rstchown/xattr/dev=89c0006 on Tues Feb 4 14:07:27 2014 swap on /tmp type tmpfs read/write/setuid/devices/rstchown/xattr/size=10400m/dev=89c0006 on Tues ...
df 命令颇为有用。swap 命令提供最有用的统计信息。
% df -h /tmp Filesystem Size Used Available Capacity Mounted on swap 7. 4G 44M 7.4G 1% /tmp % swap -s total: 190248k bytes allocated + 30348k reserved = 220596k used, 7743780k available
有关更多信息,请参见 tmpfs(7FS)、mount_tmpfs(1M)、df(1M) 和 swap(1M) 手册页。