情況是這樣的.. 有一台老舊機器 . 前一陣子reboot 之後過沒多久出現 /tmp filesystem is full 的訊息..
df 一看.
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/da0s1a 65492960 19219560 41033964 32% /
devfs 1 1 0 100% /dev
/dev/md0 19566 17972 30 100% /tmp
為啥會冒出md0 ???
md 通常是 ramdisk , 有mdconfig 或是 tmpmfs , tmpfs 這幾個指令生成的./etc/rc.*也沒有看到設定跟這些有關 ,
然後找到 /etc/defaults/rc.conf 有相關的東西 , 而且 size 也符合. 應該是它了.
tmpmfs="AUTO" # Set to YES to always create an mfs /tmp, NO to never
tmpsize="20m" # Size of mfs /tmp if created
tmpmfs_flags="-S" # Extra mdmfs options for the mfs /tmp
但這是 defaults 的設定 , 沒事應該不會跑起來.. 應該找出原因 , 而不是改 defaults/rc.conf
先umount /tmp , 看一下 localdisk 裡面的 /tmp 是發生什麼事了.
進去 ls -l 就先卡了10秒. 看起來是裡面檔案太多造成的 ?
再進一步去看 , 目錄很多.. 算了一下,, 32768個 ..... !!?
好像中了什麼神秘數字...
UFS的 filesystem 一個目錄底下一層最多32768個子目錄.. 所以/tmp 無法再建新目錄.
系統開機時就自動開了tmpmfs 掛起來了...
真相大白啊.
留言列表