Maison > Article > Tutoriel système > L'espace disque Linux est anormalement plein, comment vérifier ?
在服务器运维过程中,我们时常会遇到这样的情况,收到服务器磁盘空间告警:<br>
Connectez-vous au serveur et visualisez via df -Hl
Cela correspond aux informations d'alarme. Ensuite, nous devons trouver le répertoire ou le fichier qui provoque la saturation de l'espace disque.
Une méthode relativement stupide consiste à utiliser la commande du -hs dans le répertoire racine pour lister l'espace occupé par chaque répertoire
Utilisez ensuite la même méthode pour poursuivre la recherche dans le répertoire correspondant
Une méthode relativement plus efficace consiste à définir la profondeur du répertoire de la requête via le paramètre -d de du, ou -max-profondeur, à mesure que la profondeur du répertoire augmente, de nombreux répertoires interrogés seront affichés à ce moment-là. peut filtrer via grep.
du -h -d 2|grep [GT] |sort -nr du -h --max-depth=2|grep [GT] |sort -nr
De cette façon, vous pouvez rechercher des répertoires volumineux qui occupent de l'espace disque en unités de G ou T et les trier
Ou vous pouvez l'interroger via find
find / -type f -size +1G -exec du -h {} \;
En termes d'efficacité, find est plus rapide et plus flexible que du.
Avec ces deux méthodes, nous pouvons rapidement trouver le coupable qui occupe de l'espace disque.
Vous pensez que c'est aussi simple ? Plusieurs fois, vous constaterez qu'après une longue recherche via find ou du, vous constaterez que l'espace total occupé est très différent de l'espace disque occupé par df, comme les deux images ci-dessus.
Vu via df, l'utilisation du disque est de 37 Go, mais vu via du -hs dans le répertoire racine, le total s'élève à près de 10 Go, il n'y a pas de répertoire caché, qui mange cet espace ?
Évidemment, il y a de l'espace occupé par les fichiers supprimés. Les fichiers sont supprimés, mais les ressources ne sont pas libérées.
J'ai déjà introduit une commande très utile : lsof, on peut la vérifier avec la commande suivante
lsof +L1
Les résultats montrent qu'il existe un fichier journal volumineux d'environ 28 Go. Il a été supprimé, mais l'espace n'a pas été libéré. C'est une situation très courante.
La solution correspondante est de redémarrer l'application Tomcat pour libérer de l'espace
Il y a une autre question que les gens posent souvent, à savoir le disque consulté via df
Vous constaterez que la somme de Utilisé et Disponible n'est pas suffisante pour la Taille, et qu'une partie est mangée sans raison
En fait, il s'agit d'une politique de sécurité du système de fichiers Linux. Par défaut, il réservera 5% de l'espace disque à l'utilisateur root pour une utilisation d'urgence. Cela peut garantir que certaines applications clés (telles que les bases de données) disposent d'une certaine marge de manœuvre lorsque le disque dur est plein, afin qu'elles ne tombent pas en panne immédiatement
Nous pouvons modifier la proportion d'espace réservé via tune2fs
tune2fs -m 1 /dev/vda1
Vous pouvez voir la comparaison avant et après dans l'image ci-dessous
L'espace englouti est libéré !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!