处理linux下一个目录下的大量文件



我有一个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% /

和inode
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/sdb1        117M  4.5M  112M    4% /

是否有一个好的方法来存储大量的文件在linux上?

在我尝试了很多方法之后,例如格式化磁盘,使用gc清理内存,解决方案是使用一些文件夹来分散文件,并且它有效。

最新更新