PDA

View Full Version : Dati discordanti sul riempimento


tutmosi3
18-02-2015, 21:26
Ciao

Ho un problema sul mio serverino domestico con Debian 7.
Esso contiene 3 HD: 1 da 1 TB per il SO e qualche dato + 2 da 2 TB per i dati.
Questi ultimi sono nuovi e proprio uno, montato in home, mi restituisce dati discordanti circa il suo riempimento.

Se entro in una qualsiasi cartella di suddetto disco nella barra in basso mi dice che ho solo 5.7 GB, infatti se cerco di copiare una raffica di file da 8 GB, dopo poco si ferma tutto.

Se controllo il disco con l'Analizzatore di utilizzo trovo che all'interno vi è una cartella che occupa poco meno del 20% (dato corretto), una macchina virtuale che non arriva al 3% (dato corretto) ma tutte le altre stanno sotto l'1%.
Eppure mi dice che lo spazio occupato è 1.9 TB.
Allego file.

Com'è possibile?

Ciao e grazie

tutmosi3
18-02-2015, 21:31
Anche se vado sulle Preferenze dell'Analizzatore la situazione non è convincente.
Infatti sda1, montato correttamente in /home dice che mi mancano 106 GB, dato in aperto contrasto con i 5.7 GB liberi precedenti.
Allego screen shot.

Ciao

pigi2pigi
18-02-2015, 22:32
Facciamo un esempio: disco da 5KB

nel disco ci sono 8 file da 10 byte
da cui totale spazio occupato 80 byte

se fai una sottrazione per vedere lo spazio libero, ci sono 4940 byte pari al 96%
peccato che lo spazio effettivamente libero è 1KB pari al 20%

senza contare altre considerazioni quali frammentazione inode e journal
va tranquiillo lo spazio libero è di 5.7GB

sacarde
19-02-2015, 07:53
per vedere quanto spazio e' riservato a root:


tune2fs -l /dev/sd... | grep Reserv

tutmosi3
19-02-2015, 08:23
Per il momento posto i risultati

Reserved block count: 24418918
Reserved GDT blocks: 907
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)

Ciao e grazie

tutmosi3
19-02-2015, 08:43
Facciamo un esempio: disco da 5KB

nel disco ci sono 8 file da 10 byte
da cui totale spazio occupato 80 byte

se fai una sottrazione per vedere lo spazio libero, ci sono 4940 byte pari al 96%
peccato che lo spazio effettivamente libero è 1KB pari al 20%

senza contare altre considerazioni quali frammentazione inode e journal
va tranquiillo lo spazio libero è di 5.7GB

Il ragionamento fila ma nel mio caso siamo con tanti file grossi, non tantissimi file piccolissimi.

Ciao e grazie.

tutmosi3
19-02-2015, 08:46
Nell'allegato del 1° post si nota una cartella che occupa poco meno del 20% del disco essa contiene 5 sotto cartelle:

2 sono vuote
1 contiene 1290 oggetti, il più piccolo 3.1 MB, il più grande 8.2 MB (tutti DWG) e occupa 6.8 GB
1 contiene 594 oggetti, il più piccolo 80.8 MB, il più grande 7.2 GB e occupa 183.5 GB
1 contiene 11716 oggetti, il più piccolo 1.2 MB, il più grande 18.9 MB (tutti RAW e JPG) e occupa 169.4 GB.

Continuo a non capire dov'è finito il resto dello spazio.

Ciao e grazie

sacarde
19-02-2015, 09:18
Per il momento posto i risultati

Reserved block count: 24418918
Reserved GDT blocks: 907
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)

Ciao e grazie

moltiplicalo per la grandezza del blocco (es. 4096)

in genere e' il 5%

tutmosi3
19-02-2015, 09:45
Il problema è che non ricordo quanto è il blocco.
Come faccio a ricavarlo?


Comunque con 4096 ci staremmo perchè su 2 TB salterebbero fuori circa 100 GB.

Ciao e grazie

sacarde
19-02-2015, 10:20
tune2fs -l /dev/sd... | grep Block

tutmosi3
19-02-2015, 12:57
Confermo.
Block size: 4096

Stasera farò un prova: copierò tutti i dati presenti nell'HD incriminato.
Li metterò in un altro PC e successivamente cancellerò la cartella del 20% poi vedrò di quanto è calato effettivamente.

Ciao e grazie

tutmosi3
19-02-2015, 18:46
Ciao

Continua ad esserci qualcosa che non va.
Spostato tutto e successivamente cancellato.
Il disco doveva essere vuoto e invece continuava a segnalarmi solo 380 GB liberi.
Manca all'appello oltre 1.6 TB.
Come posso sapere cosa contiene esattamente il mio HD sda1?

Ciao e grazie

sacarde
19-02-2015, 19:33
da terminale:

df -H
riepiloga le partizioni



du
calcola lo spazio

dai un'occhiata: http://www.guidepc.it/2013/06/linux-vedere-lo-spazio-occupato-da-una-cartella

tutmosi3
19-02-2015, 20:57
Trovato.
.xsession-errors alla quota record di 1.5 TB.
Il tutto in soli 11 giorni.
Credo che l'imputato sia X11VNC, prontamente rimosso.
Adesso tornerò ad usare il server VNC integrato.

Ciao

kernelex
19-02-2015, 22:25
Trovato.
.xsession-errors alla quota record di 1.5 TB.
Il tutto in soli 11 giorni.
Credo che l'imputato sia X11VNC, prontamente rimosso.
Adesso tornerò ad usare il server VNC integrato.

Ciao

incredibile! te lo volevo dire, ma ho dato per scontato che ci avevi già guardato in quel file.

mi fece lo stesso scherzo (i log di smplayer, poi disabilitato), e stessa discussione su questo forum.

tutmosi3
20-02-2015, 08:55
In effetti, leggendo in internet prima di postare, avevo accreditato questo log.
Tuttavia non lo avevo controllato subito perchè ritenevo impossibile raggiungesse dimensioni del genere.

Ciao e grazie

AMD_Edo
23-02-2015, 23:50
Ti conviene ridurre lo spazio riservato ad una percentuale minore (tipo 0.1%) dando il comando (come root)
tune2fs -m 0.1 /dev/sda1

Ricorda che se principalmente salvi files di dimensioni maggiori a 1 MByte ti conviene formattara le partizioni ext4 con l'opzione -T largefile
(ex. mkfs.ext4 -T largefile -L etichetta /dev/sdx1)

Non lo fare ora altrimenti perderesti tutti i dati salvati.

tutmosi3
01-04-2015, 14:43
Purtroppo è risuccesso, il che scagiona X11.
Tuttavia non ho tempo di mettere pesantemente mano al SO almeno fino alle ferie di agosto (sempre che riesca a farle).
Pertanto ho preso spunto da questa pagina https://mauriziosiagri.wordpress.com/2012/03/12/xsession-errors/ per limitare questo maledetto file, solo che io ho messo 500 righe.
Lanciando gli script separatamente ha funzionato.
In pratica prima ho digitato tail -n 500 .xsession-errors > xsession-errors e solo dopo aver dato Invio, sono passato a mv xsession-errors .xsession-errors

La domanda ora sorge spontanea.
Se io faccio uno script con la seguente sintassi

tail -n 500 .xsession-errors > xsession-errors
mv xsession-errors .xsession-errors
chmod 777 .xsession-errors

E lo metto in /etc/cron.daily o /etc/cron.hourly funziona?

Tengo a precisare che il chmod 777 è solo a titolo esemplificativo, devo ancora decidere cosa mettere in realtà.

Ciao e grazie

sacarde
01-04-2015, 15:38
negli script e in crontab metti tutti i path (comandi e file) assoluti

tutmosi3
01-04-2015, 15:59
Grazie per la segnalazione quindi dovrebbe venire così:

tail -n 500 /home/mioutente/.xsession-errors > /home/mioutente/xsession-errors
mv /home/mioutente/xsession-errors /home/mioutente/.xsession-errors
chmod quello che deciderò /home/mioutente/.xsession-errors

Ma oltre ad avere i percorsi completi, devo usare qualche altro accorgimento?

Ciao e grazie

sacarde
01-04-2015, 16:05
metterei anche i comandi col path assoluto

tutmosi3
01-04-2015, 19:50
Scusa, mi potresti fare un esempio?

Ciao e grazie

sacarde
01-04-2015, 20:42
/usr/bin/tail

/usr/bin/mv

/usr/bin/chmod



lo vedi eseguendo: which <nomecomando>

tutmosi3
02-04-2015, 07:14
Ottimo, grazie.
Nel week end farò qualche prova.

Ciao

tutmosi3
07-04-2015, 13:00
Scitto lo script con Gedit ma non funziona.
Non capisco il motivo.

Inizialmente pensavo fosse una questione di permessi sul file .xsession-errors e sono andato ripetutamente di chmod fino a giungere perfino al 777 attuale.
Nonostante questo continua a non funzionare.
Anche se lancio lo script a mano (doppio click -> Esegui) non funziona.
Su cron.hourly l'ho messo che si apra con "Conferma di esecuzione automatica" e rimosso Gedit (tasto DX -> Apri con altra applicazione -> Conferma esecuzione automatica).

Poi ho provato senza i percorsi assoluti dei comandi ma niente.

Però se sul terminale (sia da root che dal mio utente normale) scrivo i comandi separatamente e do Invio ad ogni uno, allora funziona.

Cosa devo fare?

Ciao e grazie

sacarde
07-04-2015, 15:16
ma se esegui lo script da consolle funziona ?


esempio se lo script si chiama "pippo" , apri la consolle e digita:

/<pathassoluto>/pippo

tutmosi3
08-04-2015, 07:59
Provo a descrivere passo passo quello che faccio.

which sh mi restituisce /bin/sh
which bash mi restituisce /bin/bash
which tail mi restituisce /usr/bin/tail
which mv mi restituisce /bin/mv
which chmod mi restituisce /bin/chmod

Da Gedit sctivo il seguente script

#!/bin/bash
/usr/bin/tail -n 500 /home/mio utente/.xsession-errors > /home/mio utente/xsession-errors
/bin/mv /home/mio utente/xsession-errors /home/mio utente/.xsession-errors
/bin/chmod 777 /home/mio utente/.xsession-errors

Salvo come ridimensionaxsession.sh poi do chmod +x ridimensionaxsession.sh e non mi da nessun errore.

Passo alla prova.

Mi muovo con diversi cd fino ad entrare nella cartella dove c'è lo script e do ridimensionaxsession.sh ma il risultato è bash: ridimensionaxsession.sh: command not found
Se do /percorso completo/ridimensionaxsession.sh mi da bash: /percorso completo/ridimensionaxsession.sh: /bin/bash^M: bad interpreter: File o directory non esistente

Non ho ancora inserito lo script in cron.hourly o cron.daily.
Dove sto sbagliando?

Ciao e grazie

sacarde
08-04-2015, 08:27
- per eseguire lo script quando sei nella relativa dir:

./ridimensionaxsession.sh

in alternativa al percorso completo




- controlla che non ci siano caratteri strani dopo: #!/bin/bash

( in realta' la prima riga potresti anche ometterla )

tutmosi3
08-04-2015, 20:00
Ieri sera.

Copia - Incolla dallo script in Gedit a HWU e non ha funzionato.
Adesso Copia - Incolla da HWU a Gedit e ha funzionato.
:eek:

Vai a capire.

Comunque ho una domanda sul file.
Se, al posto di ridimensionarlo a 500 righe, lo cancellassi direttamente?
Del tipo

/bin/chmod 777 /home/mio utente/.xsession-errors
/bin/chmod 777 /home/mio utente/.xsession-errors.old
/bin/mv /home/mio utente/.xsession-errors.old /home/mio utente/xsession-errors.old
/bin/mv /home/mio utente/.xsession-errors /home/mio utente/xsession-errors
/bin/rm /home/mio utente/xsession-errors.old
/bin/rm /home/mio utente/xsession-errors

Cosa succederebbe?

Ciao e grazie

sacarde
08-04-2015, 20:52
mah... puoi fare quello che vuoi...

non ho capito bene il senso


p.s.
lo puoi rinominare anche con data-ora all'interno del nome-file
se vuoi mantenere lo storico

tutmosi3
09-04-2015, 07:20
Il senso è che mi infastidisce che xsession-errors raggiunga con facilità e frequenza dimensioni tali da bloccare le attività di Debian.

Quindi ho 2 possibilità


Limitarne le dimensioni
Cancellarlo


Ciao e grazie

sacarde
09-04-2015, 07:44
ma hai bisogno di vederne il contenuto?

altrimenti cancellalo

tutmosi3
09-04-2015, 09:06
Non ho necessità di controllarlo, anche perchè visionare un file di diverse centinaia di MB è improponibile.

Passo alla cancellazione.

Ciao e grazie

sacarde
09-04-2015, 09:50
ok


p.s.
per leggere parti di file ci sono:


tail <file> ( - output the last part of files )

head <file> ( - output the first part of files )



p.s.
altre soluzioni
http://askubuntu.com/questions/177058/xsession-errors-file-is-huge-how-can-i-disable