git rapports "Pas d'espace sur le périphérique", mais df -h dit qu'il y a 2.5G disponible

J'ai un noeud EC2 exécutant Ubuntu 14.04. Lors d'un deployment ce matin, j'ai reçu le message d'erreur suivant de git fetch:

error: unable to create temporary file: No space left on device 

Je me suis connecté au server et df -h indique que j'ai beaucoup d'espace:

 $ df -h Filesystem Size Used Avail Use% Mounted on udev 492M 12K 492M 1% /dev tmpfs 100M 488K 99M 1% /run /dev/xvda1 7.8G 4.9G 2.5G 67% / none 4.0K 0 4.0K 0% /sys/fs/cgroup none 5.0M 0 5.0M 0% /run/lock none 497M 4.0K 497M 1% /run/shm none 100M 0 100M 0% /run/user 

Est-ce que je suis mal interprété ici? Ma compréhension a été que / tmp sur EC2 réside sur / dev / xvda1, mais peut-être que je me trompe?

Vérifier les inodes du système:

 root #df -i / 

S'il y a environ 100% d'utilisation, essayez d'utiliser

 xdiskusage / 

Pour savoir ce qui occupe les inodes.

Malheureusement, il n'y a aucun moyen d'augmenter le nombre d'inodes sur un système de files une fois que le système de files a été créé.

Sauf LVM, qui peut être en train d'augmenter le nombre d'inodes avec redimensionnement2fs

Référé à: Aucun espace laissé sur l'appareil alors qu'il y a beaucoup d'espace disponible

  1. Il pourrait être qu'une application crée un nombre énorme de petits files et épuise complètement les inodes. Vous pouvez searchr une telle application déloyale et supprimer les files indésirables.

  2. La limite d'inode ne peut pas être augmentée de manière dynamic, mais si vous utilisez LVM, vous pouvez penser à augmenter la taille du volume, sinon prendre une sauvegarde et créer un nouveau système de files spécifiant une limite d'inode supérieure.

Vous pouvez utiliser la command find pour get un directory qui contient des files en vrac et que vous pouvez effectuer un nettoyage en fonction de vos normes

find /dev/xvda1 -type f -size +1M -exec ls -ltrh {} \; et lorsque vous trouvez l'endroit ou le directory dans lequel vous devez effectuer le nettoyage passez ce path d'annuaire en source et vous effectuez le nettoyage

 find /dev/xvda1/dummy -type f -size +1M -mtime +120 -exec rm -rf {} \; 

Au dessus, je supprime les files qui sont plus anciens que 120 à partir d'un directory appelé mannequin