*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 程序員有哪些?

TAG:Mac | Linux | 內存RAM |