文档首页/ 华为云码道(CodeArts)代码智能体/ 常见问题/ MCP服务/ 如何解决uv目录占用磁盘空间过大问题?
更新时间:2026-07-03 GMT+08:00
分享

如何解决uv目录占用磁盘空间过大问题?

问题现象

系统磁盘空间不足,排查后发现uv或uvx相关的目录占用了大量存储空间,且随着使用时间的增长,体积持续增大。

原因分析

安装了使用uv/uvx启动的MCP服务器。uv是一款高性能的Python包管理工具,常用于运行MCP服务器。其磁盘占用主要来源于以下两部分:

  • uv自身安装文件:这部分通常占用较小,可忽略不计。
  • uv全局缓存目录:uv工具本身的机制,是导致空间占用的主要原因。uv采用全局缓存策略,在通过uv安装或运行Python包时,会将下载的依赖包、编译缓存以及虚拟环境等缓存在本地。由于uv默认不会自动清理历史缓存,随着您使用的MCP服务器数量增加或版本迭代更新,旧版本的缓存文件会持续累积,从而导致磁盘占用逐渐膨胀。

解决方案

要解决uv缓存占用C盘的问题,您可以选择定期清理缓存,或者通过配置环境变量将缓存目录迁移到其他磁盘空间。

定期清理uv缓存

清理uv缓存的方法相对简单,您只需在任意命令行界面中执行以下指令之一:

  • 执行uv cache prune命令

    该命令仅删除无用的缓存内容,不会影响正在使用的缓存,因此非常安全,建议优先使用

  • 执行uv cache clean命令

    该命令会清空所有缓存,如果您觉得通过prune释放的空间不足,再考虑使用此命令。

如果命令行执行时遇到异常(例如缓存文件过大,导致删除文件操作异常等),您可以尝试手动清理缓存目录:删除%USERPROFILE%/AppData/Local/uv/cache文件夹中的内容,以解决相关问题。

删除uv缓存不会导致Python出现异常,但下一次重新运行(如重连MCP时)可能会稍慢。推荐优先使用uv cache prune命令只删除无用内容。如果清理过程中收到提示Cache is currently in-use, waiting for other uv processes to finish (use --force to override),可以退出CodeAgent,或者通过任务管理器查找并关闭其他正在运行的uv进程。关闭后,清理动作会自动继续执行。

配置环境变量,避免uv缓存占用C盘

uv的默认缓存路径位于%USERPROFILE%/AppData/Local/uv/cache,这可能会占用较多的C盘空间。您可以通过设置环境变量UV_CACHE_DIR来自定义缓存存放位置。以下是两种推荐的配置方式:

  • 方式一:配置系统级环境变量
    1. 打开“系统属性”,单击“高级”页签下的“环境变量”。
      图1 进入“环境变量”配置页面
    2. 在系统变量中,单击新建,新建一个新增UV_CACHE_DIR系统变量。
      图2 新建UV_CACHE_DIR系统变量
    3. 单击“确定”,返回环境变量页面,再单击“确定”,完成设置。

      这种配置方式会将系统所有uv运行的缓存数据都配置到指定位置,避免占用C盘空间,但您指定目录的空间还是会占用,仍建议定期清理。

  • 方式二:在MCP配置中指定环境变量

    如果不希望修改系统级的uv缓存目录,可以为MCP单独配置缓存路径。配置方法如下:

    在mcp_settings.json中找到对应的MCP服务,在“environment”节点下添加“"UV_CACHE_DIR": "./.uv-cache"”环境变量(如果“environment”节点不存在,请手动创建)。这里的“./.uv-cache”表示在当前项目目录下创建缓存文件夹。这种相对路径能将缓存隔离在项目内,但各项目之间无法共享缓存。您也可根据需求更改为其他绝对路径。

    {
        "mcp": {
            "Demo-Mcp-Server": {
                "enabled": true,
                "timeout": 5000,
                "command": ["uvx", "--default-index", "https://mirrors.tools.huawei.com/pypi/simple", "--allow-insecure-host", "mirrors.tools.huawei.com", "--from", "https://cmc.centralrepo.rnd.huawei.com/xxx_demo.tar.gz", "mcp-server-demo"],
                "environment": {
                    "UV_CACHE_DIR": "./.uv-cache"
                },
                "type": "local"
            }
        }
    }

相关文档