多年來使用各種 Linux 盒子,我已經養成了使用的習慣預連結例行公事地加快應用程式的載入時間。
然而,每次重新安裝軟體包時,執行預連結的好處都會被抵消,因為它、它的所有依賴項及其相依性都需要重新預先連結。
這種預連結可能會導致多種問題,其中一個問題是二進位MD5 失效,這對於比較MD5 與上游修訂版或使用MD5 來確定二進位檔案是否已更改並因此在包刪除時不希望被清理的問題存在問題。
最近,電腦的速度變得越來越快,預先連結帶來的好處現在幾乎不顯著。
使用prelink仍然是理性的概念,還是可以被隨意丟棄並作為過去時代的東西而留下?
答案1
除非您訂閱了 LWN.net,否則您在 2009 年 7 月 23 日之前無法閱讀該文章,但您可能會發現http://lwn.net/Articles/341244/有用。
答案2
我不會說它應該被任意丟棄,但我肯定會說它的使用應該多考慮一下。
在經常更新的現代高階機器上,預先連結可能不是一個有用的最佳化。然而,在許多情況下它仍然值得使用。例如,在較舊或較低端的電腦上,或在相當靜態且不會頻繁變更或更新的電腦上。如果您的程式重複運行率很高(我可以想到一些情況,您可能會快速連續或並行運行程序,其中預連結可以提高效能),那麼這也是值得的。
總而言之,您需要考慮您的具體情況,然後決定收益是否超過額外的工作和努力。
答案3
我想說 prelink 對於多用戶桌面伺服器(例如學校和網咖使用的 LTSP 伺服器)絕對有用。預連結不僅可以加快應用程式載入速度,還可以提高 RAM 利用率和由於用戶之間的爭用而導致的磁碟抖動,從而允許伺服器上同時存在更多用戶。
答案4
我認為隨著記憶體價格的下降,預連結變得越來越沒有用處。如果你仍然想稍微加快速度,你可以看看預載。