最近有的同事反應:當使用svn update時,電腦運行很慢,打一個窗口,需要兩分鐘幫可以看到,殺毒,打補丁,都不起作用。佔用的cpu和內存都不是很大。後來在網絡上搜了一下,終於找到是Svn惹的惑。有的機器上一直沒有出現,有的機器上就出現。
一、操作:
1.關閉SVN的cache監視。即關閉tsvncache.exe這個程序對目錄的監視。
具體操作步驟如下:
a) 右擊任意目錄打開右鍵菜單,打開"tortoisesvn" => "settings"下的設置窗口
b) 找到"icon overlays"的設置項,將"status cache"設置成"none"
這個速度明顯恢復正常。
二、換一個版本比較新的,可以試一試。
三、原因:
svn基於windows資源管理器監視所有驅動器上目錄的變化,造成了你的系統刷新速度變慢。
四、cache的三種狀態的優缺點:
- 1、默認
-
把所有狀態信息緩存在一個獨立進程中(
TSVNCache.exe
)。該進程監視所有驅動器的更改,並在工作副本中的文件被修改時重新獲取其狀態。該進程以最低優先級運行,所以其他程序不會被它擠兌。這同樣意味着狀態信息並不是 實時 的,因爲它需要幾秒鐘時間處理圖標覆蓋的變化。優點: 圖標覆蓋遞歸地顯示狀態,就是說,如果一個處在工作副本深處的文件被修改了,所有途徑的文件夾包括工作副本的根目錄都會顯示出修改的圖標覆蓋。也因爲該進程可以向Windows外殼發送通知,資源管理器左面的樹形圖通常也會更改。
缺點: 即使你已經不在項目下工作了,該進程仍然持續運行。取決於你工作副本的數量和大小,它將佔用10-50 MB的RAM內存空間。
- 2、Windows 外殼
-
緩存在外殼擴展dll中直接完成,但僅僅是爲那些當前可見的文件夾。每次你瀏覽到其他文件夾,狀態信息就會被重新獲取。
優點: 僅僅需要很少的內存(大約1 MB),並且可以 實時 顯示狀態。
缺點: 因爲僅有一個文件夾被緩存,圖標覆蓋不會遞歸地顯示狀態。在大一些的工作副本下,它在瀏覽器中顯示一個文件夾將比默認緩存模式花費更多時間。而且 mime-type 列將無效。
- 3、無
-
在這種設置下,TSVN在瀏覽器裏就完全不去獲取狀態了。因此,版本控制下的文件將不會獲得任何圖標覆蓋。文件夾也僅僅有個“正常”狀態的圖標覆蓋,其他的不會顯示,也不會有其他額外的列可用。
優點: 絕對不會佔用任何額外的內存,也完全不會減慢瀏覽器的瀏覽速度。
缺點: 文件、文件夾的狀態信息不會顯示在瀏覽器中。要獲知你的工作副本是否被修改了,你需要使用“檢查更新”對話框。