很多时候我们需要进行临界测试。
譬如当手机盘空间存满的条件下应用会有何表现等。
之前,我都是先查看下手机U盘还剩余多少空间,再往该磁盘中拷贝一个差不多大的文件,
如果发现还有剩余空间的话,则是通过开启 720P 录像来占满。
这个过程会很耗时,尤其当手机盘空间很大的情况下,譬如剩余32G等。
如今找到一种比较快捷的方式,
通过如下 adb 命令在 /mnt/sdcard/ 目录下产生一个名为 bigfile 的文件,让其自动增长到磁盘剩余空间大小。
C:\Users\Administrator>adb shell dd if=/dev/zero of=/mnt/sdcard/bigfile/mnt/sdcard/bigfile: write error: No space left on device3036001+0 records in3036000+0 records out1554432000 bytes transferred in 163.839 secs (9487557 bytes/sec)
能这样做的前提是 获取手机的 root 权限!
并且 USB 设置不能设为 U盘功能!
如果你有此需求,不妨试下。
使用nexus 4实践,bs=1024000,count=1,结果为存入1M大小的文件
dd if=/dev/zero of=test bs=1M count=1000
会生成一个1000M的test文件(实践中设置1M并无法创建1000M的文件,貌似无法识别M的单位,默认的单位是Bit,1024000是1M)
上述方式是实际写入硬盘,文件产生的速度取决于硬盘读写速度,如果想产生超大文件速度很慢
有些情况下我们只想让系统认为存在一个超大文件在此,但是并不实际写入硬盘则可以:
dd if=/dev/zero of=test bs=1M count=1000 seek=100000
此时创建的文件系统中的显示大小为100000MB,但并不实际占用block
出自:http://blog.csdn.net/zsch591488385/article/details/37933373