Wątkowanie jest abstrakcją programu dla równoległego wykonywania w nowoczesnym systemie operacyjnym. W przypadku wielowątkowego wykonywania programu dzieje się co następuje: przestrzeń adresowa pamięci RAM i otwarte pliki są współdzielone między wątkami w celu zminimalizowania kosztów ogólnych i bardziej efektywnego wykorzystania czasu procesora. Wszystko to sprawia, że wykonywanie wielowątkowe jest wydajnym i użytecznym mechanizmem. Wątki można przeglądać za pomocą narzędzi wiersza poleceń ps
i top
. Następnie zobaczmy, jak to zrobić w systemie operacyjnym Linux.
Linux zapewnia dwa sposoby debugowania procesów wielowątkowych w celu wykonania określonej akcji. Jednym z nich jest sytuacja, w której proces tworzy własne kopie przy użyciu mechanizmu rozwidlenia, a następnie procesy te komunikują się za pośrednictwem gniazd lub IPC. Т. Użytkownik otrzymuje procesy, które zajmują zasoby i określoną ilość pamięci. Kolejnym sposobem jest alokacja wątków w ramach pojedynczego procesu. W ten sposób wszystkie wątki pojedynczego procesu będą miały jeden identyfikator grupy wątków, a także unikalny identyfikator. Oznacza to, że będą miały dostęp do wszystkich zasobów procesu nadrzędnego i będą zajmować mniej pamięci.
W tym programie wątki procesu są aktywowane jednym poleceniem - T.
W poniższy sposób można zobaczyć wszystkie wątki procesu z PID dla Chromium:
$ ps -T -p
Kolumna SPID pokazuje identyfikator wątku, a CMD nazwę wątku.
Za pomocą narzędzia top można łatwo przeglądać wątki w czasie rzeczywistym. Aby to zrobić, należy uruchomić top z opcją -H
. Za pomocą klawisza H można włączyć lub wyłączyć wyświetlanie wątków w czasie wykonywania programu:
$ top -H
Jeśli chcesz wyświetlić tylko wątki wybranego procesu, użyj opcji -H:
$ top -H -p pid
Jak widać, korzystanie z top jest dość proste.
Jednak najwygodniejszym narzędziem do przeglądania wątków jest HTOP. Jest to główna interaktywna przeglądarka procesów na ncurces. Z jego pomocą można obserwować wątki w czasie rzeczywistym w formie drzewa.
Aby to zrobić, musisz włączyć widok wątków w htop: najpierw otwórz program, wejdź do menu naciskając F2, a następnie wybierz Opcje wyświetlania, w sekcji Ustawienia. Teraz zaznacz Trzy widoki i Pokaż niestandardowe nazwy wątków. To wszystko, możesz nacisnąć F10, aby zapisać ustawienia:
To wszystko. W ten sposób można wyświetlić wątki w widoku drzewa oddzielnie dla każdego procesu. Tutaj ponownie możesz zobaczyć wątki dla przeglądarki Chromium: