Maison  >  Article  >  Tutoriel système  >  L'espace disque Linux est anormalement plein, comment vérifier ?

L'espace disque Linux est anormalement plein, comment vérifier ?

WBOY
WBOYavant
2024-02-11 20:57:14851parcourir

在服务器运维过程中,我们时常会遇到这样的情况,收到服务器磁盘空间告警:<br>

Linux 磁盘空间异常爆满,该怎么查?

Connectez-vous au serveur et visualisez via df -Hl

Linux 磁盘空间异常爆满,该怎么查?

Cela correspond aux informations d'alarme. Ensuite, nous devons trouver le répertoire ou le fichier qui provoque la saturation de l'espace disque.

Comment trouver des répertoires ou des fichiers qui prennent beaucoup de place ?

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

Linux 磁盘空间异常爆满,该怎么查?

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  
Linux 磁盘空间异常爆满,该怎么查?

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

L'espace disque est consommé sans raison ?

Il y a une autre question que les gens posent souvent, à savoir le disque consulté via df

Linux 磁盘空间异常爆满,该怎么查?

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

Linux 磁盘空间异常爆满,该怎么查?

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer