Eén van de tools die je kunt gebruiken om problemen op te sporen heet lsof. De meeste Linux-distributies hebben deze tool al aan boord. De naam lsof staat voor "list open files" en je kan er alle bestanden mee zien die op een systeem openstaan. Dit kunnen reguliere bestanden zijn, zoals shared libraries of logbestanden, maar ook sockets, devicebestanden of pipes.

Problemen worden vaak veroorzaakt doordat gewone bestanden een beetje te groot zijn geworden. Je kunt daarbij denken aan logbestanden van een webserver. Die worden vaak één keer per week geroteerd, terwijl ze al wel een paar honderd megabyte groot zijn. Of misschien zijn er veel tabellen in MySQL met vele megabytes aan overhead, die onnodig in het geheugen gehouden worden en met een simpele operatie weer kunnen worden vrijgegeven.

Met lsof kun je dit op een simpele manier doen:

# lsof | grep REG | sort -n -k 7 -r

Het commando vraagt eerst alle open bestanden op, filtert er de gewone bestanden uit en sorteert daarna op grootte van het bestand, met het grootste bestand eerst. Als je het door een pager (zoals less), of een programma zoals head haalt, dan heb je snel een goed overzicht van wat er op je Linux systeem allemaal aan open bestanden rondslingert.

Bron: Techworld