您好,登錄后才能下訂單哦!
最近老是碰到/var分區滿的問題, 一直都找不到是哪個文件把分區漲爆了.
用下面的命令看/var目錄的大小, 只有81M.
但是用df命令看分區情況, 發現/var卻是滿滿的..
機器在同步一些圖片, 我粗略估算一下大概有1,2千萬張圖片. 開始同步的時候很正常, 當rsync運行幾個小時之后, /var開始漸漸地變大, 然后爆滿. 這個時候rsync進程使用內存也就2MB, 我猜想由于文件太多, rsync在對比server和client端的文件list的時候使用/var分區的磁盤做為臨時的stack, 把/var分區占滿了..
kill了rsync進程, 磁盤空間又釋放了... 無奈...
總結:
rsync在對比server和client端的文件list的時候使用了臨時文件,但是我們又看不到臨時文件在哪里, 困惑了吧.
在linux中, 先創建一個臨時文件, 然后進程打開文件, 再調用unlink刪除文件, 但是文件這個時候還是打開的, 操作系統不會將它真正的刪除, 當進程不停地寫的時候, 分區就會慢慢地漲滿, 當進程退出的時候, 操作系統檢測到文件已經沒有被使用了, 才會被刪除.
你也不必將var鏈接到大分區, 同步海量文件的時候, 你可以按目錄將你的任務切換成若干小任務就可以了.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。