Existe-t-il un moyen de demander au noyau de libérer de l'espace disque maintenant? Comme écrire dans quelque chose dans / proc /? Utiliser Ubuntu 11.10 avec ext4.
C'est probablement un thème ancien et très répété. Après avoir touché 0 espace seulement remarqué lorsque mon éditeur n'a pas pu enregistrer les fichiers de code source que j'ai ouverts, qui à ma grande horreur ont maintenant une taille de 0 octet dans la liste des dossiers, je me suis lancé dans une suppression effrénée.
J'ai supprimé des centaines de Mo de fichiers volumineux, à la fois de l'utilisateur et de la racine, et j'ai également fait des liens durs.
Juste avant, il apt-get clean
y avait plus de 900 Mo dans / var / cache / apt / archives, il n’ya plus que 108 Ko:
# du
108 /var/cache/apt/archives
Une heure plus tard, toujours pas d'espace libre et je ne peux pas sauvegarder mes précieux fichiers ouverts dans l'éditeur, mais notez la disparité ci-dessous:
# sync; df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda4 13915072 13304004 0 100% /
Aucune suggestion? J'ai fermé certains services / processus, mais je ne sais pas comment vérifier qui pourrait manger activement de l'espace disque.
Plus d'informations
# dumpe2fs /dev/sda4
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 884736
Block count: 3534300
Reserved block count: 176715
Free blocks: 422679
Free inodes: 520239
First block: 0
Block size: 4096
Fragment size: 4096
Réponses:
Vérifiez avec
lsof
pour voir s'il y a des fichiers tenus ouverts. L'espace ne sera pas libéré jusqu'à ce qu'ils soient fermés.vous dira quels fichiers supprimés sont encore ouverts.
la source
mysqld
verrous dans / tmp, mais de nombreusesapport-gt
utilisations de fichiers éteints dans / var / lib / apt / lists / partial / qui se sont apparemment accumulées. Donc, je pourraiskillall apport-gt
mais allons enquêter en premier.lsof +L1
(sélectionnez les fichiers ouverts non liés).Utilisez
lsof
pour rechercher le fichier supprimé, mais ouvert, qui utilise toujours de l’espace:Recherchez l'entrée dans
/proc/<pid>/fd/
cette liste qui correspond au descripteur de fichier:Maintenant, juste
cat /dev/null
dans le fd:Notez que l'inode est toujours ouvert, mais maintenant sa longueur est 0
la source
cat
pour tronquer. Dans Bourne shell,> /proc/3446/fd/128
ça ira.df
ne montrera pas d'espace réservé pourroot
(même lorsqu'il est exécuté en tant queroot
):Comment changer le "pourcentage de bloc réservé"
Réduire l'espace réservé à 4%
# tune2fs -m4 /dev/sda4
df -h
maintenant montré 45M libre.Remettre à 5%
# tune2fs -m5 /dev/sda4
la source
df
affiche le pour l'espace utilisable par l'utilisateur normal. Comme apt est exécuté en tant que root, l’espace réservé n’est utile que pour se protéger contre les pleins causés par des utilisateurs non-root (= utilisateurs normaux et services ayant leur propre utilisateur).mkfs
ces jours devraient réserver par exemple. 5% ou 300 Mo, selon le nombre le moins élevé . Il suffit de réajuster certains de mes serveurs à 2% et de libérer les Go!Dans Ubuntu, si vous supprimiez des fichiers à l'aide de votre corbeille, vos fichiers ne seraient probablement pas complètement supprimés.
Même après avoir vidé votre corbeille, vos fichiers resteront
~/.local/share/Trash/expunged
après le redémarrage et peut-être même plus longtemps.Je n’ai pas trouvé de bonne raison à cela, mais si je manque d’espace, j’ai toujours manuellement
rm
les fichiers de la corbeille supprimés.la source
Explication: La sortie
Grep permet
lsof
d'extraire uniquement les fichiers supprimés. Il extrait l’identificateur de processus et l’identificateur filedescriptor de chaque ligne et crée une chaîne au format{pid}/fd/{fid}
. Alors que la boucle et rien ne sort à chaque fichier, les définissant à vide.la source
Je me demande s’il
sync
est d’une quelconque aide ici - mais cela ne devrait pas être le cas, comme dans la plupart des systèmes ("nombreux"?), Les systèmes de fichiers sont synchronisés toutes les 30 s.Je vérifierais dans le journal du noyau (donc
dmesg
) pour voir si quelque chose de désagréable se passe et lancerais-lelsof
pour voir si un gros fichier supprimé est encore ouvert (en fait, je pense que les fichiers supprimés seront marqués comme tels dans lalsof
sortie).Deux raisons (l’une de celles-ci pointées dans la question que vous associez) qui peuvent empêcher les fichiers supprimés de ne libérer aucun espace sont:
unlink()
édité un fichier avec plus d'un lien)Mais je ne connais pas de raison particulière pour laquelle cela pourrait se produire avec autant de fichiers ...
la source
sync
jamais aidé. En ce qui concerne les journaux, il s’agit d’un système Ubuntu, donc c’est plutôt bogué, alors ils sont généralement bruyants.apport
a souvent été déployé parce que tous les soirs, apt-get update plante, bien que / var / crash ne dispose que de 77 Mo. Nousatd
avons également remarquéatd[8892]: File a0015c0152ab76 is in wrong format - aborting
que le fichier / var / log / syslog était inondé de lignes répétitives, comme probablement car les quelques fichiers de / var / spool / cron / atspool étaient tous de taille 0, ce qui rend le problème circulaire bien sûrCentOS 6.3 permet également de ne pas vider réellement la poubelle lorsque vous videz la poubelle. Je ne pouvais pas trouver un moyen de récupérer l'espace avant de courir
rm -rf ~/.local/share/Trash/expunged/
. Causé beaucoup grattant la tête.la source