TSVNCache.exe是安裝TortoiseSVN完成後留下的駐留進程。
基本介紹
- 中文名:TSVNCache.exe
- 用途:對svn目錄和非svn目錄進行掃描
- 套用系統:WINDOWS
- 性質:一款電腦軟體
常見問題,描述,解決方法,
常見問題
CPU記憶體占用過大問題
安裝了SVN後會有一個TSVNCache.exe的進程駐留記憶體,這個進程會定時地去掃描Subversion管理的資料夾/檔案是否被修改了, 一旦發現有更新,那本地的這些有更新的檔案/資料夾就會被更新,這個動作不僅會占用10-85MB左右的記憶體,而且也會在執行的瞬間占用超過CPU 50%的負載。對於要求較高的使用者來說,這個進程還是影響到了PC的使用性能,
那么應該如何處理它呢?
描述
TSVNCache.exe:在進程管理里有一個Tsvncache.exe這個進程會不定時的對svn目錄和非svn目錄進行掃描,會造成一定的資源消耗。
此頁面允許你選擇TSVN為哪些條目顯示圖示覆蓋。選擇網路磁碟可能會非常慢,所以默認情況下不為定位於網路共享中的工作拷貝顯示圖示覆蓋。你甚至可以取消所有的圖示覆蓋,但那樣做還剩下什麼好玩兒的呢?
因為它要花費一段時間來獲取工作拷貝的狀態,TSVN將使用一個快取來存儲這些狀態,從而使瀏覽器在顯示圖示覆蓋時,資源占用的不太厲害。你可以根據你的系統和工作拷貝的大小來在這裡選擇讓TSVN使用哪種類型的快取:
默認
把所有狀態信息快取在一個獨立進程中(TSVNCache.exe)。該進程監視所有驅動器的更改,並在工作拷貝中的檔案被修改時重新獲取其狀態。該進程以最低優先權運行,所以其他程式不會被它擠兌。這同樣意味著狀態信息並不是 實時 的,因為它需要幾秒鐘時間處理圖示覆蓋的變化。
優點:圖示覆蓋遞歸地顯示狀態,就是說,如果一個處在工作拷貝深處的檔案被修改了,所有途徑的資料夾包括工作拷貝的根目錄都會顯示出修改的圖示覆蓋。也因為該進程可以向Windows外殼傳送通知,資源管理器左面的樹形圖通常也會更改。
缺點:即使你已經不在項目下工作了,該進程仍然持續運行。取決於你工作拷貝的數量和大小,它將占用10-50 MB的RAM記憶體空間。
Windows外殼
快取在外殼擴展dll中直接完成,但僅僅是為那些當前可見的資料夾。每次你瀏覽到其他資料夾,狀態信息就會被重新獲取。
優點:僅僅需要很少的記憶體(大約1 MB),並且可以 實時 顯示狀態。
缺點:因為僅有一個資料夾被快取,圖示覆蓋不會遞歸地顯示狀態。在大一些的工作拷貝下,它在瀏覽器中顯示一個資料夾將比默認快取模式花費更多時間。而且 mime-type 列將無效。
無
在這種設定下,TSVN在瀏覽器里就完全不去獲取狀態了。因此,版本控制下的檔案將不會獲得任何圖示覆蓋。資料夾也僅僅有個“正常”狀態的圖示覆蓋,其他的不會顯示,也不會有其他額外的列可用。
優點:絕對不會占用任何額外的記憶體,也完全不會減慢瀏覽器的瀏覽速度。
缺點:檔案、資料夾的狀態信息不會顯示在瀏覽器中。要獲知你的工作拷貝是否被修改了,你需要使用“檢查更新”對話框。
若你選擇了默認選項,將同樣決定如下選擇:在資料夾包含非版本控制的項目時,把資料夾圖示覆蓋標記為已修改。這個有用的設定可以提醒你已經創建了非版本控制的新檔案。
排除路徑 是被用來告訴TSVN 不用 在哪些路徑下顯示圖示覆蓋和狀態列。如果你有些很大的工作拷貝,而這些工作拷貝僅僅包含你完全不想改變的庫檔案,從而你也不需要顯示圖示覆蓋,這時該功能將會很有用。舉個例子:
填寫 f:\development\SVN\Subversion 將 僅僅 在這個特殊資料夾上取消圖示覆蓋。 你仍然可以在該路徑下的所有檔案、資料夾上看到圖示覆蓋。
填寫 f:\development\SVN\Subversion* 將在路徑以 f:\development\SVN\Subversion 開始的 所有 檔案和資料夾上取消圖示覆蓋。這意味著你在該路徑下的任何檔案/資料夾上都將看不到圖示覆蓋了。
包含路徑 也使用同樣的語法。除了有些反例:即使該路徑處在某個取消圖示覆蓋顯示的特定驅動類型下,或是處在上面的排除路徑之下, 也依然會顯示圖示覆蓋。
TSVNCache.exe 同樣使用這些路徑來限制它的掃描。如果你想讓它僅僅在某些特定資料夾里監視,就取消所有的驅動器類型,並僅僅包含你允許被掃描的資料夾。
解決方法
方法1、
打開系統的資料夾管理–>右鍵–>TortoiseSVN–>settings–>Icon Overlays–>Status cache 設為”none”就可以了。
按照(1)操作,就會禁止掉檔案狀態圖示。不建議採用方法1。
方法2、
在settings——>Icon overlays里先把所有盤符加入exclude paths里,每個分區一行。
注意:
1、後面要加上*,表示子目錄排除,例:
c:\*
d:\*
2、每個排除目錄都是以換行來區分的。記得是換行喔~
然後把源碼存放目錄加到include paths里,比如我的源碼全部放在D:\codes\和e:\codes下面,就加上:
D:\codes\*
e:\codes\*
這樣TSVNCache占用的記憶體會少很多,並且也能顯示檔案狀態圖示。
注意:多個目錄需要換行來分割。