填写android设备中的磁盘空间

时间:2014-07-15 11:23:01

标签: android linux adb diskspace rom

我想用任何转储数据填充我的设备磁盘空间,作为压力测试的一部分。

我尝试将字节写入外部存储器中的文件;显然更大&更宽敞的磁盘需要更长的时间来填充。 [大约半分钟1GB]

在这种情况下,我们可以从adb shell做任何事情吗? 我检查了使用 dd 命令创建转储数据:

dd if=/dev/zero of=/tmp/tempFiller.deleteMe bs=1024 count=$COUNT

基本上将转储数据复制到目标文件 因此,它也需要很长时间。 [大约1分钟1GB]

有更快的方法吗?对于普通用户/超级用户?

我还在adb shell中尝试了fallocate, truncate & mkfile命令,但是即使在su中也找不到这些命令。我猜这些是bash命令&在Android设备中安装bash shell将需要设备已植根。

fallocate -l 10G gentoo_root.img
truncate -s 10M output.file
mkfile 10240m 10Gigfile

2 个答案:

答案 0 :(得分:5)

我过去曾尝试过同样的事情。我的目的是填补设备上的所有内存。经过实验,我发现 dd 是编写大文件的最佳方式。我最好的速度是当我使用1MB的块大小时。我使用了100MB文件,以便能够平衡设备上的可用空间。

写100MB文件:

dd if=/dev/zero of=myfile.dat bs=1048576 count=100

另外,对于快速实验,我使用了免费应用程序FillMemory

答案 1 :(得分:1)

1GB半分钟(30秒)的写入速度超过30MB / s。考虑到目前大多数Android设备上的外部存储实际上是Secure Digital闪存卡,这种速度很可能是设备的卡或卡接口所支持的maximum速度。

如果使用中等块大小的dd(例如bs=1M)并没有改善,那么您可能已经达到了当前硬件的限制。