Tips
- 将大规模数据单独放置在根目录,不要放置在项目代码文件夹下,会增加IDE的索引负担
如何移动大规模数据
mv在移动大规模数据会出现如下报错:
1 | >mv ssv2/20bn-something-something-v2/* Somethingsomething-v2_root |
解决方案:
使用 rsync 移动文件,rsync 也可以用于移动文件,并且能够处理大量文件而不会遇到参数列表过长的错误:
1 | rsync -a --remove-source-files ssv2/20bn-something-something-v2/ Somethingsomething-v2_root/ |
-a:归档模式,保持文件的原始属性。--remove-source-files:在复制文件后删除源文件,达到移动的效果。
统计占用空间
1 | batchcom@ /home/dataset-assist-0 |
对于136GB的文件,常规的du -sh命令需要运行高达7分钟的时间,推荐使用diskus进行替代。
用 Go 写的工具,是
du -sh的并行化版本。开发者声称在多核机器上,cold‑cache(第一次运行)可比 du 快大约 10 倍,warm‑cache 下也快三倍左右。适合快速估算目录整体大小。
实测同一文件夹,最终耗时大约40秒,结果为145GB,适合快速估算。
多线程下载
1 | # 安装(Ubuntu/Debian) |
-x 16:最大连接数(线程)-s 16:分片下载-k 1M:分片大小-c:断点续传(已下载部分不重复)
突然发现要重新组织数据集结构
使用ln -s软链接功能避免文件移动耗费大量时间
请使用绝对地址而非相对地址