测试linux中的磁盘空间

Eri*_*rix 13 linux testing

我有一个程序,当它耗尽磁盘空间写一个文件时,可能会死亡,我不确定是否是这种情况.

我想运行它看看,但我的测试服务器不会很快耗尽空间.有什么方法可以嘲笑这种行为吗?看起来没有办法在Ubuntu中设置文件夹/文件大小限制,并且设置用户配额将是一个过程(由于获得权限)

有没有一种常见的方法来测试这种情况?

我正在运行Ubuntu 12.04

qdi*_*dii 27

  1. 创建一个你想要的大小的文件(这里10MB)

    dd if=/dev/zero of=/home/qdii/test bs=1024 count=10000

  2. 从这个文件中创建一个环回设备

    losetup -f /home/qdii/test

  3. 在所需的文件系统中格式化该设备

    mkfs.ext4 /dev/loop0

  4. 将它安装在任何你想要的地方(/mnt/test应该存在)

    mount /dev/loop0 /mnt/test

  5. 在该分区上复制您的程序并进行测试

    cp /path/my/program /mnt/test && cd /mnt/test && ./program


要知道哪个循环设备losetup已创建,您可以使用 losetup -a

别忘了卸下umount /mnt/test.

使用后别忘了清理回路设备 losetup -D

不要忘记删除文件.

  • 使用 `-D` 选项 `losetup` 将尝试分离所有广泛使用的循环设备(至少在 Ubuntu 上),所以我更喜欢使用 `sudo lostup -d /dev/loopXX` 来分离选定的设备。 (2认同)

Krz*_*ski 5

只需使用/ dev / full,当您尝试对其进行写入时,它将引发ENOSPC错误:

$ echo "Hello world" > /dev/full
bash: echo: write error: No space left on device
Run Code Online (Sandbox Code Playgroud)