在我的Linux vServer上,inode是有限的(例如250.000)。 我发现Yii2安装需要很多的inode。 inode的数量大致是文件和目录的数量。
在当前目录及其子目录中使用的inode数量可以通过
find . -xdev -printf '%hn' | sort | uniq -c | awk '{total = total + $1}END{print total}'
我的Yii2项目平均约3万个inode。 ./runtime或./web/images文件夹中./web/images文件./web/images 。 大部分inode都用在./vendor目录中。
所以我的Yii2项目数量只限于8个项目。
C程序:如何获取父目录的inode号码?
XFS设备上没有空间
如果Perl试图在正在上传的文件上调用move()会发生什么?
是否可以通过修改inode数据结构和超级块来连接同一个linux文件系统上的两个文件?
我能做些什么来减lessYii2项目的inode使用量?
为什么不能通过inode操作文件?
创buildpipe道,FIFO或套接字时创buildinode
如何在两条path上testing是硬链接的?
如何获得文件的文件的绝对path,每当一个新的文件在Linux中创buildinode?
假设您的Linux vserver拥有root用户,您可以将一个新的文件系统嵌入到单个文件中并挂载。 这样的文件只会在父文件系统中使用一个inode,而映像中的inode数量由您决定。
# dd if=/dev/zero of=myfs bs=1MB count=512 512+0 records in 512+0 records out 512000000 bytes (512 MB) copied,4.10134 s,125 MB/s # losetup --find --show `pwd`/myfs /dev/loop0 # mkfs -t ext4 -i 1024 /dev/loop0 mke2fs 1.42.12 (29-Aug-2014) discarding device blocks: done Creating filesystem with 500000 1k blocks and 500464 inodes Filesystem UUID: fef5ab29-8991-4f99-8a27-80b4d11b3133 Superblock backups stored on blocks: 8177,24529,40881,57233,73585,204401,220753,400625 Allocating group tables: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting @R_712_4045@ion: done # mount /dev/loop0 /mnt # df -i | sed -n '1p;/mnt/p' Filesystem Inodes IUsed IFree IUse% Mounted on /dev/loop0 500464 11 500453 1% /mnt
在这里,我选择了ext4,并将每节点的字节数-i设置为其最小值,在ext4上为512MiB提供了最大的inode数500464。
你可以用这种方式创建多个文件系统,每个项目一个文件系统,或者制作一个更大的文件系统,其中有更多的inode。
要在下一次重新引导时挂载映像,请在/etc/fstab添加一行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。