2014-07-10 11 views
28

quando ho cercato di scp alcuni file in una macchina di CentOS, sto ottenendo l'errore "Spazio esaurito sul dispositivo"Nessuno spazio lasciato sul dispositivo

ho provato

[[email protected]]# df -h 
Filesystem   Size Used Avail Use% Mounted on 
/dev/mapper/VolGroup00-LogVol01 18G 18G  0 100%/

E quando lo faccio

du -sh / -> dà solo 5G

[... ~]$ df -i/
Filesystem   Inodes IUsed IFree IUse% Mounted on 
/dev/mapper/VolGroup00-LogVol01 
        4685824 209516 4476308 5%/

sembra file system è pieno. Come posso scoprire quale sta prendendo queste dimensioni?

+0

Forse si ottengono risposte più/migliori su 'Superutente' o 'Unix e Linux'. Si prega di mostrare il comando scp e la lista completa df. Sei sicuro di copiare su/dev/mapper/VolGroup00-LogVol01? – smartmeta

+0

ho provato ad avviare alcuni servizi su quel server. sta anche dando lo stesso errore – Futuregeek

risposta

33

Tale differenza tra l'output di du -sh e df -h può verificarsi se un file di grandi dimensioni è stato eliminato, ma è ancora aperto da qualche processo. Verificare con il comando lsof | grep deleted per vedere quali processi hanno aperto i descrittori ai file cancellati. È possibile riavviare il processo e lo spazio verrà liberato.

+2

Ho provato ad uccidere quei processi e sta funzionando. Grazie! – Futuregeek

+2

Non avrei mai immaginato che i file cancellati potessero essere ancora residenti. Grazie per questo. –

+0

Come si riavvia il processo? @ user3584460 – IsraGab

5

Per elencare i processi in possesso di file cancellati un sistema Linux che ha nonlsof, ecco il mio trucco:

pushd /proc ; for i in [1-9]* ; do ls -l $i/fd | grep "(deleted)" && (echo -n "used by: " ; ps -p $i | grep -v PID ; echo) ; done ; popd 
26

Forse sono fuori di inode. Prova df -i

     2591792 136322 2455470 6% /home 
/dev/sdb1   1887488 1887488  0 100% /data 

disco usato 6%, ma tabella degli inode pieno.

+2

Questo. Giusto qui. – nvahalik

+0

possiamo aggiungere altri inode? :)) (in parte scherzando, in parte serio) –

0

È possibile eseguire i seguenti comandi

lsof/| grep cancellato

uccidere i process id, che liberare lo spazio su disco.