我有一个python代码,它将在一个目录中生成大约2800万个文件,但是在生成大约600万个文件之后,当python想要打开一个新的txt文件时,它将抛出一个OSError: [Errno 28] No space left on device
。
我的磁盘空间仍然有足够的大小来保存文件,文件系统是ext4。我还检查了索引节点,它仍然有112M用于每个文件。
这是我的磁盘信息。
Disk /dev/sdb: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1999GB 1999GB primary ext4 boot
2 1999GB 2000GB 1023MB extended
5 1999GB 2000GB 1023MB logical linux-swap(v1)
和剩余空间
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 1.8T 150G 1.6T 9% /
和inodeFilesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdb1 117M 4.5M 112M 4% /
是否有一个好的方法来存储大量的文件在linux上?
在我尝试了很多方法之后,例如格式化磁盘,使用gc清理内存,解决方案是使用一些文件夹来分散文件,并且它有效。