En mi Linux vServer, los inodos son limitados (por ejemplo, 250.000). Descubrí que una instalación de Yii2 requiere bastantes inodos. El número de inodos es aproximadamente el número de archivos y directorios.
El número de inodos utilizados en el directorio actual y sus subdirectorios se puede determinar con
find . -xdev -printf '%h\n' | sort | uniq -c | awk '{total = total + $1}END{print total}' Un promedio de mis proyectos Yii2 es de unos 30k inodos. No hay mucho en los archivos en ./web/assets , en las carpetas ./runtime o ./web/images . La mayoría de los inodos se utilizan en el directorio ./vendor .
Entonces, el número de mis proyectos Yii2 está limitado a 8 proyectos.
¿Qué puedo hacer para reducir el uso de inodos en proyectos Yii2?
Suponiendo que tiene la raíz en su Linux vServer, puede incrustar un nuevo sistema de archivos en un solo archivo y montarlo. Tal archivo tomaría solo un inodo en el sistema de archivos principal, mientras que la cantidad de inodos dentro de la imagen depende de usted.
# 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 information: 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 Aquí, elegí ext4 y configuré los bytes por inodo, -i , en su valor mínimo, dando el conteo de inodos más grande, 500464, para 512MiB en ext4.
Podría crear múltiples sistemas de archivos de esta manera, uno para cada proyecto, o crear uno mucho más grande con muchos más inodos.
Para montar la imagen en el próximo reinicio, agregue una línea a /etc/fstab .