Macos Legacy Rsync Hangs
目錄
幾個月前用 rsync 從 Macbook 備份資料到 NAS 上的時候出現了點問題,
rsync 會看似正常的在螢幕上跑一陣子然後卡死不動,
從螢幕輸出會看到他原本一邊同步一邊在吐正在同步中的檔案,
然後吐著吐著就(習慣了?不是)停了,
沒有任何錯誤訊息、rsync 也沒有直接結束;
原本以為可能是在傳送大檔案或者可能網路不穩,
但後來發現 kill 掉之後再下一次 rsync 指令就會從那個卡住的檔案開始順順的傳,
連著好幾次都一樣,
這看起來就不是網路問題或是檔案問題可以解釋的了!!
於是我就打開了 Mac 內建的 Activity Monitor 看看 rsync 到底發生了什麼事,
不看不知道,一看嚇一跳~~

rsync 的狀態已經是 terminated 了,
CPU 0% 是因為已經停了,
但是還吃了一堆 Virtual memory (34 GB!!!!!) 在那裡卡著不動,
他的路徑在 /usr/bin 下所以顯然是系統內建的,
我研究了一下,
馬上發現有人在某條 Reddit 的討論串 提到 Mac 內建的 rsync 有問題,
於是我就照著他的建議棄用 Mac 內建的舊版 rsync 改成了用 homebrew 版本的新版 rsync,
2x GB 的檔案們就順順利利的同步完啦!!!
到現在我都還是挺疑惑的,
看起來那條 Reddit 的評論已經是三年前了,
這個問題也挺明顯的一旦檔案數量一多就會發生,
為什麽到當時都沒處理掉那個過時的舊版本呢?
不知道是不是為了 GPL 強迫開源的法律考量才拒絕更新?