V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
kenshin912
V2EX  ›  Linux

目录内与目录外使用 du -csh * 命令统计同一个目录的磁盘占用,差别接近 10 倍 , 这合理吗?

  •  
  •   kenshin912 · 62 天前 · 1119 次点击
    这是一个创建于 62 天前的主题,其中的信息可能已经有所发展或是发生改变。

    内部一个 Walle 打包的服务器.

    该目录是存放 yarn 打包用的 node_modules 缓存文件.

    最近我注意到该目录占用一直缓慢的增长 , 觉得有点不正常.

    直到我在 node_modules 这个目录内外都使用了 du -csh * 这个命令 , 发现结果如下.

    #  du -csh *
    ...
    ...
    2K	yallist
    624K	yaml
    528K	yargs
    148K	yargs-parser
    76K	yauzl
    220K	yorkie
    208K	zip-stream
    16K	zwitch
    336M	total
    
    # cd ..
    # du -csh *
    3.0G	node_modules
    3.0G	total
    

    这也太夸张了... 然后我就看到了这个

    # ls
    node_modules
    # du -cah --apparent-size -l -L *
    ......
    ......
    98K	node_modules/vm2/lib
    148	node_modules/vm2/.editorconfig
    8	node_modules/vm2/.eslintignore
    287	node_modules/vm2/.eslintrc.js
    4.4K	node_modules/vm2/CHANGELOG.md
    1.1K	node_modules/vm2/LICENSE.md
    15K	node_modules/vm2/README.md
    7.4K	node_modules/vm2/index.d.ts
    157	node_modules/vm2/index.js
    746	node_modules/vm2/package.json
    127K	node_modules/vm2
    424K	node_modules/.yarn-integrity
    2.7G	node_modules
    2.7G	total
    

    这是 node_modules 这个目录本身 , 占用了 2.7GB 吗? 这不合理吧?

    我反复思索了好一会 , 也没想明白这是为啥...

    Walle 打包工具我是使用 docker-compose 启动的.

    npm / jdk 以及打包目录什么的 , 我是使用 volumes 映射进容器内的.

    yarn 打包之前我会通过 ln -s 把这个目录软链接到打包目录 , 打包完成后则会删除打包目录.

    遂怀疑是不是磁盘空间被 docker 占用 , 但是 lsof 看了看 , 也没有. 也许我应该重启一下 docker 服务?

    之前我 yarn install 的时候指定了一个 cache-folder , 并没有发生过这个问题.

    但是我觉得打包太慢 , 想改进一下 , 所以把 node_modules 这个目录做了个软链接过来 , 想着应该能避免复制 node_modules 这个过程...

    速度没见怎么快 , 倒是磁盘占用还出了点问题... 真尴尬...

    来 V2EX 求高人指点一下

    4 条回复    2021-11-22 10:47:10 +08:00
    hingle
        1
    hingle  
       62 天前
    这个命令没包含当前目录下的隐藏文件
    zhlxsh
        2
    zhlxsh  
       62 天前 via iPhone
    你这个参数 du 不看隐藏文件的
    du -sm .[!.]* *| sort -n
    AoEiuV020
        3
    AoEiuV020  
       59 天前
    主要区别就在目录“.staging”一个包含了一个没包含,
    kenshin912
        4
    kenshin912  
    OP
       59 天前
    @hingle #1
    @zhlxsh #2
    @AoEiuV020 #3

    感谢 , 找到原因了 , 确实是没包含隐藏文件.
    .cache 目录 2.9G
    谢谢
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1803 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 16:49 · PVG 00:49 · LAX 08:49 · JFK 11:49
    ♥ Do have faith in what you're doing.