*nix系統中, /tmp文件夾里的文件, 會佔用系統內存嗎?
哦槽, 誰邀請的我? linux相關問題為毛要邀請我... 我都不在發行版公司了...
會.
free -h, 然後自己在tmp目錄下放一個2g的文件, 再free -h, 然後刪除該文件繼續free -h. 就知道了.
我是做嵌入式linux的,起碼在我用過的嵌入式的根文件系統里,/tmp是用tmpfs從內存里申請的空間,一般在/etc/fstab里有寫,可以看一下
剛在Ubuntu上看了下,貌似是硬碟。這裡有個關於用tmpfs還是磁碟的討論:
https://askubuntu.com/questions/62928/why-doesnt-tmp-use-tmpfs
用df,cat /etc/mtab,都可以看掛載點,看看有沒有針對/tmp的掛載項就明白了。不一定……看你往哪兒掛載了……
對於現在的大多是發行版的默認分區來說……會因為默認是將/tmp掛載到內存上的看情況,現在若是用戶不手動設置,不少發行版都是默認使用tmpfs(好吧,其實我用的Arch是這樣,其他沒證實),所謂tmpfs,你就理解成內存檔,在內存中劃分一塊區域用來當作你的tmp分區,這樣可以明顯提高速度。一般默認tmpfs大小是物理存儲的一半。你可以使用df -h命令查看。這種情況肯定會佔用你的內存了。
如果沒用tmpfs之類的「內存檔」功能,而是將tmp放到硬碟上當然就不會佔用了。
題外:
如果想修改默認的tmpfs大小(話說我安裝android sdk,解壓時4g tmpfs爆滿),可以在etc/fstab指定size,添加或修改類似:
tmpfs /tmp tmpfs nodev,nosuid,size=6G 0 0
重啟後就改變了。
目前我用的debian,Ubuntu, tmp 掛在tmpfs 上,默認用的是內存空間,可以設定大小。 以前tmp 掛在硬碟上,我覺得現在也可以這樣掛,只是有可能會影響些性能。
現在至少8g,16g內存吧,我一般都是分一半給tmp,瀏覽器緩存臨時下載等等各種都可以放到tmp。
推薦閱讀:
※usb的端點是什麼?
※Unix的內存分配方式是否有缺點,能否改進?
※PV、TPS、QPS是怎麼計算出來的?
※如何看待加密即時通信APP——安司密信?
※國內知名的 Linux 程序員有哪些?