linux进程分析方法汇总
所属分类 linux
浏览量 1668
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 目录下的重要文件
limits 进程资源限制
/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中创建对象的五种方式