1

Running a python script to generate millions of empty text files just for fun on my Mint machine (18.1 Serena) before I wipe it.

Recently the script failed with this error:

OSError: [Errno 28] No space left on device: '1013162169.txt' 

There is clearly memory and inode table space left available, and restarting the script running processes for a bit before throwing the error again.

$ df -i Filesystem Inodes IUsed IFree IUse% Mounted on udev 194936 488 194448 1% /dev tmpfs 205500 716 204784 1% /run /dev/sda1 60563456 18707860 41855596 31% / tmpfs 205500 1 205499 1% /dev/shm tmpfs 205500 6 205494 1% /run/lock tmpfs 205500 18 205482 1% /sys/fs/cgroup cgmfs 205500 14 205486 1% /run/cgmanager/fs tmpfs 205500 6 205494 1% /run/user/1000 $ df Filesystem 1K-blocks Used Available Use% Mounted on udev 3831012 0 3831012 0% /dev tmpfs 770428 17620 752808 3% /run /dev/sda1 953630580 14641452 890524440 2% / tmpfs 3852140 0 3852140 0% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 3852140 0 3852140 0% /sys/fs/cgroup cgmfs 100 0 100 0% /run/cgmanager/fs tmpfs 770428 4 770424 1% /run/user/1000 

Is there some other space constraint being run into here? The specific case is a meaningless script but I'm very curious about underlying cause.

Files are being created in /home/jon/test which is on sda1.

8
  • 2
    Check your filesystem for constrains about the number of the files and/or directories in one directory Commented Nov 21, 2018 at 15:20
  • Do you have just the one filesystem? Where are the files being generated? Commented Nov 21, 2018 at 15:21
  • Added the full df outputs. They're being created in the directory the script runs in which is on sda1. Most of those 18 million inodes are files from this process. Commented Nov 21, 2018 at 15:29
  • 1
    @RomeoNinov ext4, which doesn't seem to have a limit defined per directory, and several billion for the whole system. Commented Nov 21, 2018 at 15:34
  • 3
    Looking at the the related questions (right-hand sidebar), it suggests you hit birthday paradox on the directory index, which uses a 32-bit hash table. unix.stackexchange.com/questions/222221/… Commented Nov 21, 2018 at 16:18

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.