Ho riscontrato questo problema su una scatola di FreeBSD oggi. Il problema era che si trattava di un artefatto di vi(non vim, non sono sicuro se vimavrebbe creato questo problema). Il file stava consumando spazio ma non era stato completamente scritto su disco.
Puoi verificarlo con:
$ fstat -f /path/to/mount/point |sort -nk8 |tail
Questo esamina tutti i file e gli ordinamenti aperti (numericamente tramite -n) dall'ottava colonna (chiave, -k8), mostrando gli ultimi dieci elementi.
Nel mio caso, la voce (più grande) finale sembrava così:
bob vi 12345 4 /var 97267 -rwx------ 1569454080 rw
Ciò significava che il processo (PID) 12345 consumava 1,46 G (l'ottava colonna divisa per 1024³) di disco nonostante la mancanza di notarlo du. viè orribile a visualizzare file di dimensioni estremamente grandi; anche 100 MB sono grandi per questo. 1,5 G (o per quanto grande fosse quel file in realtà) è ridicolo.
La soluzione era sudo kill -HUP 12345(se non avesse funzionato, l'avrei fatto sudo kill 12345e se anche quello non avesse funzionato , il temuto kill -9sarebbe entrato in gioco).
Evita gli editor di testo su file di grandi dimensioni. Soluzioni alternative di esempio per una rapida scrematura:
Supponendo lunghezze di linea ragionevoli:
{ head -n1000 big.log; tail -n1000 big.log } |vim -R -
wc -l big.log |awk -v n=2000 'NR==FNR{L=$1;next}FNR%int(L/n)==1' - big.log |vim -R -
Supponendo che le righe siano irragionevolmente grandi:
{ head -c8000 big.log; tail -c8000 big.log } |vim -R -
Questi usano vim -Ral posto di viewperché vimè quasi sempre meglio ... quando è installato. Sentiti libero di convogliarli viewo vi -Rinvece.
Se stai aprendo un file così grande per modificarlo effettivamente, considera sedo awko qualche altro approccio programmatico.