系统相关
首页 > 系统相关> > Linux上的最大文件/目录数?

Linux上的最大文件/目录数?

作者:互联网

我正在开发一个LAMP在线商店,它将允许管理员为每个项目上传多个图像.

我担心的是 – 马上就会有20000件商品,大概有60000张图片.

问题:

> Linux上的最大文件和/或目录数是多少?
>处理这种情况的常用方法是什么(最佳做法)?

我的想法是根据每个项目的唯一ID为每个项目创建一个目录,但是在主上传目录中我仍然有20000个目录,并且它将无限增长,因为旧项目不会被删除.

谢谢你的帮助.

解决方法:

ext [234]文件系统具有固定的最大inode数;每个文件或目录都需要一个inode.您可以使用df -i查看当前计数和限制.例如,在使用默认设置创建的15GB ext3文件系统上:

Filesystem           Inodes  IUsed   IFree IUse% Mounted on
/dev/xvda           1933312 134815 1798497    7% /

除此之外,对目录没有限制;请记住,每个文件或目录至少需要一个文件系统块(通常为4KB),即使它是一个只有一个项目的目录.

但是,正如您所看到的,80,000个inode不太可能成为问题.使用dir_index选项(可以使用tune2fs),在大型目录中查找并不是什么大问题.但请注意,许多管理工具(例如ls或rm)可能很难处理包含太多文件的目录.因此,建议将文件拆分,以便在任何给定目录中没有超过几百到一千个项目.一种简单的方法是散列您正在使用的任何ID,并使用前几个十六进制数字作为中间目录.

例如,假设您有项目ID 12345,它哈希到’DEADBEEF02842 …….’.您可以将文件存储在/ storage / root / d / e / 12345下.您现在已将每个目录中的文件数减少了1/256.

标签:directory-structure,linux,directory
来源: https://codeday.me/bug/20191003/1850890.html