词条 | TSVNCache.exe |
释义 | 描述TSVNCache.exe:在进程管理里有一个Tsvncache.exe这个进程会不定时的对svn目录和非svn目录进行扫描,会造成一定的资源消耗。 此页面允许你选择TSVN为哪些条目显示图标覆盖。选择网络磁盘可能会非常慢,所以默认情况下不为定位于网络共享中的工作拷贝显示图标覆盖。你甚至可以取消所有的图标覆盖,但那样做还剩下什么好玩儿的呢? USB闪存看上去是个特殊情况,因为驱动类型是设备自主标识的。于是有些显示为固定驱动器,而有些显示为可移动磁盘。 默认情况下,图标覆盖将不止显示在Windows资源浏览器下,同样会显示在所有的打开/保存对话框里。如果你想让它们 仅仅 显示在Windows资源浏览器下,勾选 仅在资源管理器中显示图标覆盖 选项。 因为它要花费一段时间来获取工作拷贝的状态,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 同样使用这些路径来限制它的扫描。如果你想让它仅仅在某些特定文件夹里监视,就取消所有的驱动器类型,并仅仅包含你允许被扫描的文件夹。 CPU内存占用过大问题安装了SVN后会有一个TSVNCache.exe的进程驻留内存,这个进程会定时地去扫描Subversion管理的文件夹/文件是否被修改了, 一旦发现有更新,那本地的这些有更新的文件/文件夹就会被更新,这个动作不仅会占用10-85MB左右的内存,而且也会在执行的瞬间占用超过CPU 50%的负载。对于要求较高的使用者来说,这个进程还是影响到了PC的使用性能, 那么应该如何处理它呢? 解决方法方法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占用的内存会少很多,并且也能显示文件状态图标。 注意:多个目录需要换行来分割。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。