Puis-je augmenter le nombre d'inodes sous Linux?


9

J'ai un routeur Linux MIPS avec un noyau 2.4.17. Root fs est un tmpfs et / rom est un cramfs. Il y a 4 Mo de mémoire libre et 3 Mo d'espace libre sur tmpfs.

Je peux créer quelques nouveaux fichiers vides, mais les suivants échouent avec "pas assez d'espace". Cependant, je peux ajouter 1 Mo de données à un fichier existant. Mon problème est donc le nombre d'inodes.

Et mes questions:

  1. Existe-t-il un moyen d'augmenter dynamiquement les inodes?
  2. Si je ne peux pas l'augmenter dynamiquement - Où puis-je l'augmenter dans les sources du noyau?

Que dit df -i?
womble

df dans busybox n'a pas d'option -i
vlad

vlad: Qu'en est-il de la commande stat, y a-t-il une commande stat qui prend en charge l'option -f? alors juste stat -f <mountpoint>. Si ce n'est pas le cas et que vous pouvez créer du c et effectuer une compilation croisée sur mips, vous pouvez peut-être utiliser vous-même les statfs () ou les appels familiaux?
Kyle Brandt

Réponses:


5

Si le nombre d'inodes est votre problème réel, vous pouvez augmenter la quantité d'inodes disponibles pour le système de fichiers tmpfs avec l'option de montage nr_inodes. Si vous définissez nr_inodes = 0, alors il y aura un nombre illimité d'inodes.

Toutes ces informations se trouvent dans la documentation du noyau tmpfs .

Voir la réponse de womble pour l'exemple de remontage. Pour le démarrage, vous devrez modifier votre fstab, ou quoi que ce soit pour votre build Linux particulier afin que les futurs montages soient correctement gérés.


7

Vous pouvez définir le nombre d'inodes disponibles dans un tmpfs avec l' nr_inodesoption de montage. Pour le faire en direct, vous pouvez simplement exécuter:

mount -o remount,nr_inodes=<bignum> /tmp

Je soupçonne que la définition de ce nombre très, très élevé entraînera une grande consommation de mémoire, alors soyez prudent.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.