Accueil > linux > Linux, sort, ou comment saturer /tmp

Linux, sort, ou comment saturer /tmp


Allez, un petit article dans le ton de feu opl32.com ( 2000/2001/2002, ça ne nous rajeunit pas) , mais dans le domaine linux.

Le problème

Besoin de trier un gros fichier sous Linux ? Pas de problème, la commande sort est là pour ça, et propose même une option -u pour supprimer les doublons.

Allez Go : 

sort -u < big_mega_fichier > resultat

No space left on device !??

Explication sommaire (mais suffisante)

La commande « sort » par défaut utilise la mémoire puis, si le volume à trier devient trop important, crée des fichiers temporaires dans le répertoire /tmp.

Que /tmp soit le montage d’un filesystem séparé (conseillé sur une machine de production ou un serveur), ou un simple répertoire du disque racine (monté sur /), la place disponible est limitée. On peut se retrouver avec une message du type « No space left on device » , voire parfois même empêcher certains traitements (batch, système, ou autres) de s’exécuter.

C’est très rare, mais si ça arrive sur une machine de production …

Une solution

La commande sort accepte deux options qui peuvent nous faciliter la vie

  • -T spécifie de stocker les fichiers temporaires dans le répertoire mon_repertoire_tmp
  • –compress-program spécifie de compresser les fichiers temporaires. Cette option ralentit la commande sort, mais permet de s’accommoder de filesystems plus petits ou de volumes à trier plus grands.

Exemple
sort -T ~/tmp –compress-program=gzip -u < big_mega_fichier > resultat

Conclusions

  • Ne jamais présumer que tout se passe en mémoire
  • Les commandes info et man sont nos amis
  • On peut bloquer – même quelques secondes – une machine de production sans avoir l’air d’y toucher
Publicités
Catégories :linux Étiquettes :
  1. Aucun commentaire pour l’instant.
  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :