J'ai mon disque principal complètement rempli:
root@kodi:/# df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 385M 12M 374M 3% /run
/dev/sda1 88G 84G 0 100% /
tmpfs 1.9G 4.0K 1.9G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sdb1 917G 429G 442G 50% /media/Cloud
/dev/sdd1 917G 813G 58G 94% /media/Tera
cgmfs 100K 0 100K 0% /run/cgmanager/fs
tmpfs 385M 0 385M 0% /run/user/1000
root@kodi:/#
/ dev / sda1 est mon disque principal sur lequel ubuntu est installé:
root@kodi:/home/fmf# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=9fab4895-7ccb-4415-b26d-311a17036cda / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=7b158f58-e4c1-4717-aa5f-dbeaa79ab93c none swap sw 0 0
UUID=f9079f52-7661-48ad-9bc4-0d2452be66af /media/Tera ext2 defaults,nofail 0 0
UUID=fb1f92ee-54f5-44f8-ba92-544e90e6dfeb /media/Cloud ext2 defaults,nofail 0 0
root@kodi:/home/fmf#
A fait une recherche Google et a trouvé des commandes pour tester qui est le responsable, mais je ne peux pas savoir qui le remplit:
root@kodi:/# du --exclude=/media -cksh * | sort -hr | head -n 15
du: cannot access 'proc/16360/task/16360/fd/3': No such file or directory
du: cannot access 'proc/16360/task/16360/fdinfo/3': No such file or directory
du: cannot access 'proc/16360/fd/3': No such file or directory
du: cannot access 'proc/16360/fdinfo/3': No such file or directory
1.3T total
1.3T media
3.5G home
3.0G usr
1010M var
645M root
630M lib
99M boot
17M bin
15M sbin
13M etc
12M run
196K tmp
16K lost+found
12K srv
root@kodi:/#
Apparemment, il n'y a aucun fichier ou répertoire si gros pour remplir les 84 Go de mon disque.
Il y a quelques jours, j'ai constaté que le disque était plein en raison d'erreurs .xsession qui sont devenues folles. J'ai trouvé que c'était un bogue connu dans Ubuntu et j'ai résolu de créer une ligne crontab qui supprimait toutes les dix minutes les erreurs .xsession. En fait, pour le moment, je ne l'ai plus dans mon répertoire personnel.
Une aide, s'il vous plaît?
disk-usage
effemmeffe
la source
la source
sudo lsof | grep deleted
donnera des conseils..xsession-errors
problème est en faute, cela le mettra en évidence; sinon, il est très probable que vous vous dirigiez dans la bonne direction.Réponses:
Le problème avec votre cronjob est qu'il
.xsession_errors
est très probablement encore ouvert par certaines applications ou services système, c'est pourquoi il sera caché de la table du système de fichiers lors de sa suppression, mais il est toujours sur le disque et des erreurs y seront toujours écrites.Il va donc remplir le disque, mais maintenant vous ne pouvez plus le voir.
@rinzwind vise exactement ce comportement lorsqu'il suggère (correctement) de supprimer le cronjob et de rechercher les erreurs. C'est le seul moyen de résoudre correctement ce problème.
Pour contourner ce
.xsession_errors
problème, vous pouvez tronquer le fichier avec un cronjob comme celui-ci:Mais avant de faire cela, vous devriez vraiment essayer de résoudre les problèmes sous-jacents qui créent ces messages d'erreur dans
.xsession_errors
la source
root
serait imprudent et pourrait créer d'autres problèmes.truncate -c
ne créera pas de fichier et ne changera pas la propriété du fichier existant. Il est bon de ne pas l'exécuter en tant que root, mais la propriété du fichier n'est pas une raison.puisque tu fais ça ...
il est impossible de répondre à cette question.
Veuillez suivre ce qui suit pour nous obtenir les erreurs que nous devons voir:
.xsessions_errors
..xsessions_errors
utilisanttail -f 100 ~/.xsessions_errors
..xsessions_errors
fichier doit toujours être évitée).la source
Lorsqu'il y a de grandes différences (disons, plus de quelques pour cent) entre (en tant que root)
df -g /some/partition_root
etdu -gx /some/partition_root
(-x
indique à du de se limiter à la même partition, utile pour vérifier '/' par exemple): il y a probablement encore des fichiers ouvert que certains processus écrivent toujours, mais que vous avez supprimé sur le disque (d'où: le fichier existe toujours tant qu'il est ouvert par les processus et remplit l'espace disque (df -g le voit) mais comme il n'y a pas des liens plus longs (ou noms de fichiers) vers ses inodes, du -gx les manque.Dans votre cas, comparez les sorties de:
Pour savoir quels sont les fichiers avec moins de 1 liens (c'est-à-dire les fichiers supprimés mais toujours ouverts):
Vérifiez les noms de processus et les pids pour voir quels processus écrivent dans ces fichiers "fantômes", et agissez en conséquence (certains peuvent être en mesure d'arrêter / démarrer, et lorsqu'ils sont arrêtés, le fichier sera libéré et son espace libéré, d'autres peuvent nécessiter un redémarrage approprié)
la source