A corto di inode


Risposte:


24

Il numero di inode è impostato al momento della formattazione della partizione. Normalmente il numero di inode creati è sufficiente per quasi tutti gli scopi; tuttavia, se si dispone di un numero elevato di file molto piccoli, è possibile utilizzare gli inode prima che il disco sia pieno.

È necessario trovare sul sistema molte migliaia di piccoli file che utilizzano gli inode ed eliminarli o spostarli in una partizione che è stata appositamente configurata con un numero molto elevato di inode disponibili. Non è possibile modificare il numero di inode disponibili su una partizione dopo che è stata formattata.

Lo script scritto da paxdiablo su stackoverflow potrebbe essere un modo utile per verificare l'uso eccessivo di piccoli file di cui potresti non essere a conoscenza. Eccolo di nuovo:

#!/bin/bash
# count_em - count files in all subdirectories under current directory.
echo 'echo $(ls -a "$1" | wc -l) $1' >/tmp/count_em_$$
chmod 700 /tmp/count_em_$$
find . -mount -type d -print0 | xargs -0 -n1 /tmp/count_em_$$ | sort -n
rm -f /tmp/count_em_$$

Inserire questo script nel file di testo ~ / bin / count_em e quindi immettere il comando

chmod +x ~/bin/count_em

per renderlo eseguibile. Se hai dovuto creare la directory ~ / bin, non sarà ancora nel percorso eseguibile, quindi esci e riconnetti.

Per eseguire il programma è sufficiente digitare

count_em

ed elencherà i numeri di tutti i file nella directory corrente e nelle sottodirectory per directory, con l'ultimo conteggio più alto. Molto maneggevole!


QUESTA LINEA> chmode + x ~ / bin / count_em è in realtà> chmod + x ~ / bin / count_em

1
è necessario eliminare tutti quei file creati dall'utente o spostarli nell'archivio tar farà il trucco?
amc

Archiviarli è un ottimo modo per gestirli, non elimina i dati degli utenti ma li rende consapevoli che il loro comportamento non è soddisfacente in quanto non saranno in grado di utilizzare i file come erano in precedenza. È probabile che l'enorme numero di file sia generato da qualcosa che nessuno sta usando e che potrebbe essere eliminato in modo sicuro, ma questo è un rischio.
Ama il

Una buona alternativa a una riga alla tua sceneggiatura potrebbe esseresudo du -a -d 1 --inodes . | sort -nr | head -20
Charles Green,

1
Naturalmente, questo non funziona se sei completamente fuori dagli inode poiché crea file temporanei :(
Molomby

8

Puoi anche visualizzare un elenco ordinato di directory per numero di inode, usando questo comando: du --inodes -d 3 / | sort -n | tail

Da lì, è possibile determinare quali directory eliminare


1
unrecognized option '--inodes'su Ubuntu 14.04, fyi
Molomby

Perché stai usando Ubundu 14.04 nel 2019? Vedo che ha coreutils 8,21 da febbraio 2013, l' --inodesopzione è stata aggiunta lug 2013 lmao
ZN13

2

Ho scoperto che l'utilizzo dell'inode proveniva da /root/.local e ho eliminato quella cartella.


2
Non c'è molto da usare /root/.local ed è lì solo per motivi di compatibilità. Devi scoprire cosa stava scrivendo molti piccoli file in questa directory.
fabricator4,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.