svn导致电脑运行很慢

最近有的同事反应:当使用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在浏览器里就完全不去获取状态了。因此,版本控制下的文件将不会获得任何图标覆盖。文件夹也仅仅有个“正常”状态的图标覆盖,其他的不会显示,也不会有其他额外的列可用。

优点: 绝对不会占用任何额外的内存,也完全不会减慢浏览器的浏览速度。

缺点: 文件、文件夹的状态信息不会显示在浏览器中。要获知你的工作副本是否被修改了,你需要使用“检查更新”对话框。



 

你可能感兴趣的:(SVN,status,目录,Settings,资源管理器)