首页  

linux进程分析方法汇总     所属分类 linux 浏览量 91
ps 
ps -ef
ps -ef | grep java

进程树  ps -axjf
显示线程 ps -L 5238 
ps -f -C java

top  可指定 pid   
 top使用技巧 

atop  可正则匹配 过滤出要监控的进程
 linux资源监控atop 



strace
trace system calls and signals   跟踪进程内部的系统调用和信号。
系统调用(system call),指运行在「用户态」的程序向操作系统「内核态」请求需要更高权限运行的服务,系统调用提供用户程序与操作系统之间的接口。
已经运行的进程可以指定-p参数加pid 像 gdb attach上去跟踪

strace -ff  -p  PID


pstack
print a stack trace of a running process 
打印运行中程序的堆栈信息
pstack PID

# pstack 27760
Thread 10 (Thread 0x7fe21ad98700 (LWP 27761)):
#0  0x00007fe21a978a8b in recv () from /lib64/libpthread.so.0
#1  0x00007fe1f14ca835 in NET_Read () from /root/soft/jdk1.8.0_181/jre/lib/amd64/libnet.so
#2  0x00007fe1f14c9c72 in Java_java_net_SocketInputStream_socketRead0 () from /root/soft/jdk1.8.0_181/jre/lib/amd64/libnet.so
#3  0x00007fe2050183a7 in ?? ()
#4  0x00007fe200000000 in ?? ()
#5  0x00007fe21ad972c8 in ?? ()
#6  0x00007fe205007ffd in ?? ()
#7  0x0000000000000000 in ?? ()


LPW Light-weight process 轻量级线程

Linux中没有真正的线程
Thread由进程来模拟实现 轻量级进程
程是「资源管理」的最小单元,线程是「资源调度」的最小单元(这里不考虑协程)

pstree
display a tree of processes pstree
按树形结构打印运行中进程结构信息


gdb

/proc 文件系统

/proc/pid 目录下的重要文件

/proc/pid/environ  进程环境变量 
/proc/pid/fd/ 
进程打开的每一个文件的链接 ,查看进程打开的文件描述符信息,包括标准输入、输出、错误流,socket连接文件描述符
/proc/pid/stat  进程的所有状态信息
/proc/pid/cmdline   该文件保存了进程的完整命令行
/proc/pid/cwd    一个符号连接, 指向进程当前的工作目录
/proc/pid/exe    包含了正在进程中运行的程序链接
/proc/pid/mem    包含了进程在内存中的内容
/proc/pid/statm  包含了进程的内存使用信息

ps 查看进程id 
strace pstack 查看进程当前信息,是否卡死在某个位置, 调用信息找异常点

进程退出了,如果有corefile文件,用gdb查看corefile信息

进程状态信息  查看 /proc文件系统

上一篇     下一篇
java.lang.ref包

http2.0简介

ps aux -aux -ef之间的区别

linux资源监控atop

linux运维知识点

java中创建对象的五种方式