Czy mogę zwiększyć liczbę i-węzłów w systemie Linux?

9

Mam router Linux MIPS z jądrem 2.4.17. Root fs to tmpfs, a / rom to cramfs. Na tmpfs jest 4 MB wolnej pamięci i 3 MB wolnej pamięci.

Mogę utworzyć kilka nowych pustych plików, ale kolejne nie działają z „niewystarczającą ilością miejsca”. Mogę jednak dołączyć 1 MB danych do istniejącego pliku. Więc mój problem dotyczy liczby i-węzłów.

I moje pytania:

  1. Czy jest jakiś sposób na dynamiczny wzrost i-węzłów?
  2. Jeśli nie mogę go dynamicznie zwiększyć - gdzie mogę go zwiększyć w źródłach jądra?
Vlad
źródło
Co mówi df -i?
womble
df w busybox nie ma opcji -i
vlad
vlad: A co z poleceniem stat, czy istnieje polecenie stat, które obsługuje opcję -f? to po prostu stat -f <mountpoint>. Jeśli nie, możesz wybić c i przekompilować do mipsa, może sam możesz użyć statfs () lub połączeń rodzinnych?
Kyle Brandt

Odpowiedzi:

5

Jeśli faktycznym problemem jest liczba i-węzłów, możesz zwiększyć liczbę dostępnych i-węzłów dla systemu plików tmpfs za pomocą opcji montowania nr_inodes. Jeśli ustawisz nr_inodes = 0, będzie nieograniczona liczba i-węzłów.

Wszystkie te informacje znajdują się w dokumentacji jądra tmpfs .

Zobacz odpowiedź womble na przykład ponownego montażu. Aby uruchomić, musisz edytować plik fstab lub cokolwiek to robi dla twojej konkretnej kompilacji Linuksa, aby przyszłe podłączenia były obsługiwane poprawnie.

Kyle Brandt
źródło
7

Możesz ustawić liczbę i-węzłów dostępnych w tmpfs za pomocą nr_inodesopcji montowania. Aby to zrobić na żywo, możesz po prostu uruchomić:

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

Podejrzewam, że ustawienie tej bardzo, bardzo dużej liczby spowoduje duże zużycie pamięci, więc bądź ostrożny.

womble
źródło