Threading is een programma-abstractie voor parallelle uitvoering in moderne besturingssystemen. Bij het uitvoeren van programma's met meerdere threads gebeurt het volgende: RAM-adresruimte en open bestanden worden gedeeld tussen threads om overhead te minimaliseren en CPU-tijd efficiënter te gebruiken. Dit alles maakt multithreaded uitvoering een efficiënt en nuttig mechanisme. Je kunt threads bekijken met de commandoregeltools ps
en top
. Laten we nu eens kijken hoe je dit doet in het Linux besturingssysteem.
Linux biedt twee manieren om multithreaded processen te debuggen om een bepaalde actie uit te voeren. De ene is wanneer een proces zijn eigen kopieën maakt met behulp van het fork mechanisme en deze processen vervolgens communiceren via sockets of IPC. Т. De gebruiker krijgt processen die bronnen en een bepaalde hoeveelheid geheugen in beslag nemen. De volgende manier is het toewijzen van threads binnen een enkel proces. Op deze manier zullen alle threads van een enkel proces zowel een thread group identifier als een unieke identifier hebben. Dat betekent dat ze toegang hebben tot alle bronnen van het bovenliggende proces en minder geheugen innemen.
In dit programma worden procesthreads geactiveerd door één commando - T.
Op de volgende manier kun je alle procesthreads met PID voor Chromium zien:
$ ps -T -p
De SPID-kolom toont de thread-ID en het CMD toont de threadnaam.
Met behulp van het hulpprogramma top is het eenvoudig om threads in realtime te bekijken. Hiervoor moet top uitgevoerd worden met de optie -H
. Met de toets H is het mogelijk om de weergave van threads tijdens runtime in of uit te schakelen:
$ top -H
Als je alleen de threads van het gewenste proces wilt zien, gebruik dan -H:
$ top -H -p pid
Zoals je ziet is het gebruik van top vrij eenvoudig.
Het handigste hulpprogramma voor het bekijken van threads is echter HTOP. Het is de belangrijkste interactieve procesviewer op ncurces. Met behulp hiervan kun je threads in realtime bekijken in de vorm van een boom.
Om dit te doen, moet je de threads-weergave in htop inschakelen: open eerst het programma, ga naar het menu door op F2 te drukken en kies dan Display Options onder Setup. Vink nu Driemaal weergeven en Aangepaste draadnamen weergeven aan. Dat is alles, je kunt op F10 drukken om de instellingen op te slaan:
Dat is alles. Op deze manier kun je de threads in een boomstructuur voor elk proces afzonderlijk bekijken. Hier zie je weer de threads voor de Chromium-browser: