前言

  C盘空间比较紧张,删除了不少软件,腾出空间,每次删完没多久又被塞满了,算下来差不多100G了,这样绝对很异常了吧。
  通过 windows11 的设置,存储占用中发现,系统文件占用了整整100G。最后使用WizTree发现文件CapabilityAccessManager.db占用了80G。

WizTree要使用管理员权限运行,要不然看不到系统文件的占用。

验证步骤:

  1. 打开windows设置,系统->存储->显示更多类型,确认是否为系统文件
  2. 管理员权限运行 WizTree
  3. 确认文件具体什么系统文件占用。

文件描述及解决方法来源

来自博客园的Redwei

这个文件是 Windows权限管理器(camsvc 服务)的 SQLite 日志文件,记录相机、麦克风、定位、应用权限日志,异常膨胀是 Windows 常见 bug,不能直接删(被系统占用)

只能调整 .db-wal.db-shm 后缀的日志文件,.db文件不能删除。(主数据库,删了会导致权限、麦克风异常)


dell戴尔电脑的解决方法

这里是dell戴尔电脑windows11系统C盘系统超大文件占用的解决方法

注意:解决方法中要调整系统日志文件的权限,但是没有提供恢复权限的命令。我是直接通过属性删除多余的用户权限,然后按照 Redwei 的方式改成只读。

删除SmartByte

SmartByte网络优化工具,会疯狂触发权限日志写入,导致 wal 暴涨几十 G

  1. 打开「设置→应用→已安装应用」,搜索SmartByte卸载
  2. 同时也卸载 SmartByte Drivers and Services

不要打开 C:\ProgramData\Microsoft\Windows\CapabilityAccessManager\ ,否则提示无法删除

删除CapabilityAccessManager.db文件

  1. 按 Win+X → 选择 终端 (管理员) / Windows PowerShell (管理员)
  2. 依次复制执行下面 4 行命令:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 1.停止占用文件的系统服务
    net stop camsvc

    # 2.获取文件夹权限
    takeown /f "C:\ProgramData\Microsoft\Windows\CapabilityAccessManager" /r /d y
    icacls "C:\ProgramData\Microsoft\Windows\CapabilityAccessManager" /grant administrators:F /t

    # 3.删除超大wal日志(只删wal,不删主数据库)
    del "C:\ProgramData\Microsoft\Windows\CapabilityAccessManager\*.db-wal"

    # 4.重启服务,恢复系统正常功能
    net start camsvc

最后重启电脑即可。