Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to use pstack command in linux system

2025-01-31 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/01 Report--

This article mainly shows you "how to use the pstack command in the linux system", the content is easy to understand, clear, hope to help you solve your doubts, let the editor lead you to study and learn "how to use the pstack command in the linux system" this article.

Pstack is used to track the process stack, this command is very useful when troubleshooting process problems, for example, we find that a service has been in a work state (such as suspended animation, like an endless loop), using this command can easily locate the problem.

Example

Pstree displays the process in a tree structure

Pstree-p work | grep adsshd (22669)-- bash (22670)-- ad_preprocess (4551)-+-{ad_preprocess} (4552) |-{ad_preprocess} (4553) |-{ad_preprocess} (4554) | |-{ad_preprocess} (4555) |-{ad_preprocess} (4556) `- {ad_preprocess} (4557) |

Work is the working user,-p is to display the process identification code, ad_preprocess starts a total of 6 child threads, plus the main thread a total of 7 threads.

Ps-Lf 4551UID PID PPID LWP C NLWP STIME TTY stat time CMDwork 4551 22670 4551 2 7 16:30 pts/2 Sl+ 0:02. / ad_preprocesswork 4551 22670 4552 0 7 16:30 pts/2 Sl+ 0:00. / ad_preprocesswork 4551 22670 4553 07 16:30 pts/2 Sl+ 0:00. / ad_preprocesswork 4551 22670 4554 07 16:30 pts/2 Sl+ 0:00. / ad_ Preprocesswork 4551 22670 4555 0 7 16:30 pts/2 Sl+ 0:00. / ad_preprocesswork 4551 22670 4556 0 7 16:30 pts/2 Sl+ 0:00. / ad_preprocesswork 4551 22670 4557 0 7 16:30 pts/2 Sl+ 0:00. / ad_preprocess

The process started a total of 7 threads

Pstack displays the stack trace for each process:

Pstack 4551Thread 7 (Thread 1084229984 (LWP 4552)): # 0 0x000000302afc63dc in epoll_wait () from / lib64/tls/libc.so.6#1 0x00000000006f0730 in ub::EPollEx::poll () # 2 0x00000000006f172a in ub::NetReactor::callback () # 3 0x00000000006fbbbb in ub::UBTask::CALLBACK () # 4 0x000000302b80610a in start_thread () from / lib64/tls/libpthread.so.0#5 0x000000302afc6003 in clone () from / lib64/tls/libc.so.6#6 0x0000000000000000 in?? Thread 6 (Thread 1094719840 (LWP 4553): # 0 0x000000302afc63dc in epoll_wait () from / lib64/tls/libc.so.6#1 0x00000000006f0730 in ub::EPollEx::poll () # 2 0x00000000006f172a in ub::NetReactor::callback () # 30 x00000000006fbbbb in ub::UBTask::CALLBACK () # 4 0x000000302b80610a in start_thread () from / lib64/tls/libpthread.so.0#5 0x000000302afc6003 in clone () from / lib64/tls/libc.so.6#6 0x0000000000000000 in? () Thread 5 (Thread 1105209696 (LWP 4554): # 0 0x000000302b80baa5 in _ nanosleep_nocancel () # 1 0x000000000079e758 in comcm::ms_sleep () # 2 0x00000000006c8581 in ub::UbClientManager::healthyCheck () # 3 0x00000000006c8471 in ub::UbClientManager::start_healthy_check () # 4 0x000000302b80610a in start_thread () from / lib64/tls/libpthread.so.0#5 0x000000302afc6003 in clone () from / lib64/tls/libc.so.6#6 0x0000000000000000 in? () Thread 4 (Thread 1115699552 (LWP 4555)): # 0 0x000000302b80baa5 In _ _ nanosleep_nocancel () # 1 0x0000000000482b0e in armor::armor_check_thread () # 2 0x000000302b80610a in start_thread () from / lib64/tls/libpthread.so.0#3 0x000000302afc6003 in clone () from / lib64/tls/libc.so.6#4 0x0000000000000000 in? () Thread 3 (Thread 1126189408 (LWP 4556)): # 0 0x000000302af8f1a5 in _ nanosleep_nocancel () from / lib64/tls/libc.so.6#1 0x000000302af8f010 in sleep () from / lib64/tls/libc.so.6 # 2 0x000000000044c972 in Business_config_manager::run () # 3 0x0000000000457b83 in Thread::run_thread () # 4 0x000000302b80610a in start_thread () from / lib64/tls/libpthread.so.0#5 0x000000302afc6003 in clone () from / lib64/tls/libc.so.6#6 0x0000000000000000 in? () Thread 2 (Thread 1136679264 (LWP 4557)): # 0 0x000000302af8f1a5 in _ nanosleep_nocancel () from / lib64/tls/libc.so.6#1 0x000000302af8f010 in sleep () from / lib64/tls/libc .so.6 # 2 0x00000000004524bb in Process_thread::sleep_period () # 3 0x0000000000452641 in Process_thread::run () # 4 0x0000000000457b83 in Thread::run_thread () # 5 0x000000302b80610a in start_thread () from / lib64/tls/libpthread.so.0#6 0x000000302afc6003 in clone () from / lib64/tls/libc.so.6#7 0x0000000000000000 in? () Thread 1 (Thread 182894129792 (LWP 4551)): # 0 0x000000302af8f1a5 in _ nanosleep_nocancel () from / lib64/tls/libc.so .6 0x000000302af8f010 in sleep () from / lib64/tls/libc.so.6#2 0x0000000000420d79 in Ad_preprocess::run () # 3 0x0000000000450ad0 in main () are all the contents of the article "how to use the pstack Command in linux system" Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report