tmpfs 檔案系統的大小預設為沒有限制。因此,tmpfs 可能會成長到填滿可用的系統記憶體和交換空間。/tmp 目錄是所有應用程式和使用者都能夠使用的目錄,因此某個應用程式就可能佔滿所有可用的系統記憶體。同樣的,有不良意圖的未授權使用者可能會在 /tmp 目錄中建立大型檔案,因而導致系統變慢。為避免效能影響,您可以限制每個 tmpfs 掛載的大小。
您可以嘗試數個不同的值,以獲取最佳系統效能。
開始之前
若要編輯 vfstab 檔案,您必須是具備 solaris.admin.edit/etc/vfstab 授權的管理員。若要重新啟動系統,您必須要被指派「維護與修復」權限設定檔。root 角色具有所有這些權限。如需更多資訊,請參閱Securing Users and Processes in Oracle Solaris 11.2 中的Using Your Assigned Administrative Rights。
% 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) 等線上手冊。