Linux下多线程堆栈查看工具(pstree、ps、pstack)
原文:http://blog.csdn.net/yfkiss/article/details/6729364
1. pstree
pstree以树结构显示进程
$ pstree -p work | grep ad
sshd(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为工作用户,-p为显示进程识别码,ad_preprocess共启动了6个子线程,加上主线程共7个线程
2. ps -Lf
$ ps -Lf 4551
UID PID PPID LWP C NLWP STIME TTY STAT TIME CMD
work 4551 22670 4551 2 7 16:30 pts/2 Sl+ 0:02 ./ad_preprocess
work 4551 22670 4552 0 7 16:30 pts/2 Sl+ 0:00 ./ad_preprocess
work 4551 22670 4553 0 7 16:30 pts/2 Sl+ 0:00 ./ad_preprocess
work 4551 22670 4554 0 7 16:30 pts/2 Sl+ 0:00 ./ad_preprocess
work 4551 22670 4555 0 7 16:30 pts/2 Sl+ 0:00 ./ad_preprocess
work 4551 22670 4556 0 7 16:30 pts/2 Sl+ 0:00 ./ad_preprocess
work 4551 22670 4557 0 7 16:30 pts/2 Sl+ 0:00 ./ad_preprocess
进程共启动了7个线程
3. pstack
pstack显示每个进程的栈跟踪
$ pstack 4551
Thread 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 ()
#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 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
#1 0x000000302af8f010 in sleep () from /lib64/tls/libc.so.6
#2 0x0000000000420d79 in Ad_preprocess::run ()
#3 0x0000000000450ad0 in main ()
Linux下多线程堆栈查看工具(pstree、ps、pstack)相关推荐
- 多线程编译linux,linux下多线程下载工具axel的编译安装
axel 是Linux 命令行下多线程的下载工具,支持断点续传,速度通常情况下是Wget的几倍 ×××:# curl -O https://alioth.debian.org/frs/downlo ...
- Linux下程序的Profiling工具-性能测试工具GNU gprof
Linux下程序的Profiling工具 http://blog.chinaunix.net/uid-128922-id-289972.html 我们在写程序,特别是嵌入式程序的时候,通常需要对程序的 ...
- Linux查看WAS的jvm信息,linux 下使用命令查看jvm信息
java程序员除了编写业务代码之外,特别是项目上线之后,更需要关注的是系统的性能表现,这个时候就需要了解一下jvm的性能表现了,可以借助于java虚拟机自带的一些分析工具,主要有三个常用的命令. 1. ...
- linux 网络端口状态,Linux下用netstat查看网络状态、端口状态(转)
转:http://blog.csdn.net/guodongdongnumber1/article/details/11383019 在linux一般使用netstat 来查看系统端口使用情况步. n ...
- Linux下实用的查看内存和多核CPU状态命令
Linux下实用的查看内存和多核CPU状态命令 ]作者:zale0_0 来源:博客园 发布时间:2012-02-08 14:49 阅读:12 次 原文链接 [收藏] 查看多核CPU命令 mpstat ...
- 【调试】Linux下超强内存检测工具Valgrind
[调试]Linux下超强内存检测工具Valgrind 内容简介 Valgrind是什么? Valgrind的使用 Valgrind详细教程 1. Valgrind是什么? Valgrind是一套Lin ...
- linux 进程 状态 ri,LINUX下解决netstat查看TIME_WAIT状态过多问题(转)
# netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c 16 CLOSING 130 ESTABLISHED 298 FIN_WAIT1 13 FIN_WA ...
- linux命令查看cpu序列号,Linux下用命令查看CPU ID以及厂家等信息
Linux下用命令查看CPU ID // 获得CPU ID dmidecode -t 4 | grep ID |sort -u |awk -F': ' '{print $2}' // 获得磁盘ID f ...
- linux通过进程看端口,linux下通过进程名查看其占用端口
linux下通过进程名查看其占用端口: 1.先查看进程pid ps -ef | grep 进程名 2.通过pid查看占用端口 netstat -nap | grep 进程pid 例:通过nginx进程 ...
最新文章
- Faster-RCNN 自己的数据训练
- easyUI的combobox是否可用
- 在Source Insight中看Python代码
- Exercise: Linear Regression
- python filedialog_Python使用FileDialog将列表保存到指定的excel文件中,python,filedialog
- Delphi 数据类型列表
- Struts 验证框架实现步骤
- php鼠标悬停显示图片,鼠标滑过出现预览的大图提示效果
- 手把手教你用原始方式上传项目至GitHub
- taxtable java_C语言计算个人所得税问题代码及解析
- 【每日算法Day 102】美团 AI 平台算法工程师面试编程题
- mysql 存储过程 获取错误信息 继续执行
- python 词表里的词不符合_【NLP】词表太大怎么办—Adaptive softmax模型和代码解析...
- 小米手机开启开发者模式以及INSTALL_FAILED_USER_RESTRICTED报错处理
- 简单的手机html页面源代码,手机页面h5的简单demo
- 欧姆龙plc编程软件CX-Progammer v9.8升级教程
- 163VIP邮箱登录入口有哪些?VIP163邮箱怎么登陆?
- php 验证邮箱 php验证手机号码 ph验证身份证
- :“Entry point was not found.” 如何解决
- matlab-基础 复数 实部、虚部、模、共轭、辐角