今天面试学费了一个小技巧 pstack jstack gdb attach 如果CPU过高,面试怎么初步定位,如何辅助开发定位 1,log备份 2,top 之类的信息备份 3,coredump 信息备份 4,我不知道的 堆栈信息备份!! 1,top查看pid 2,pstack 进程ID显示线程堆栈 ...
分类:
系统相关 时间:
2021-04-14 12:06:58
阅读次数:
0
CS 代码段寄存器 SS 堆栈段寄存器 DS 数据段寄存器 FS 寄存器 00 只想SEH链表指针 04 线程堆栈顶部(地址最小) 08 线程堆栈底部(地址最大) 0c SubSystemTib 10 FiberData 14 ArbitraryUserPointer 18 FS 段寄存器在内存中的 ...
分类:
其他好文 时间:
2020-07-25 09:36:20
阅读次数:
70
kill -3 [java pid] 不会在当前终端输出,它会输出到代码执行的或指定的地方去。比如,kill -3 tomcat pid, 输出堆栈到 log 目录下。 Jstack [java pid] 这个比较简单,在当前终端显示,也可以重定向到指定文件中。 -JvisualVM:Thread ...
分类:
编程语言 时间:
2020-06-21 09:37:25
阅读次数:
73
CPU利用率飙升 1、定位cpu利用率最高的进程 top 2、定位使用cpu最高的线程 top -Hp pid 3、线程id转化为16进制 printf '0x%x' tid 4、找到线程堆栈 jstack pid | grep tid 发现使用cpu最高的是业务线程 1、io wait 解决方法: ...
分类:
编程语言 时间:
2020-05-31 22:02:56
阅读次数:
103
在项目中,当程序处于长时间停顿的时候,可以使用java提供的jstack命令跟踪正在执行方法的堆栈情况,jstack能够生成虚拟机当前时刻的线程堆栈情况。主要,监控线程的状态,判断出线程停顿的原因。例如,死锁,死循环,多个线程等待等等。线程的状态包括NEW,RUNNABLE,BLOCKED,WAIT ...
分类:
编程语言 时间:
2020-05-01 23:58:48
阅读次数:
148
top 查看占用资源最高进程的PID jstack -l pid > statck.log 输出线程堆栈信息 top -H -p pid 找出相对应的线程TID printf "%x \n" <tid> 输出十六进制 less statck.log 查看日志文件,找到线程16进制关键字,上下翻页查看 ...
分类:
Web程序 时间:
2020-04-11 20:41:22
阅读次数:
85
找出java进程id ps aux|grep xxxxxx 使用jstack命令打印线程堆栈信息 jstack 7363 java线程数统计 jstack 7363|grep java.lang.Thread.State: -c 线程各种状态统计 jstack 7363|grep java.lang ...
分类:
编程语言 时间:
2020-03-13 01:38:52
阅读次数:
87
jstack介绍 jstack是jdk自带的线程堆栈分析工具,使用该命令可以查看或导出 java 应用程序中线程堆栈信息。 jstack用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如 ...
分类:
Web程序 时间:
2020-03-04 15:00:54
阅读次数:
104
线程也是有两部分组成的: 线程的内核对象,操作系统用来管理线程和统计线程信息的地方。 线程堆栈,用于维护现场在执行代码的时候用到的所有函数参数和局部变量。 进程是线程的容器,如果进程中有一个以上的线程,这些线程将共享进程的地址空间,操作空间中的数据,执行相同的代码,对相同的数据操作,甚至内核对象句柄 ...
分类:
编程语言 时间:
2020-02-25 17:35:08
阅读次数:
82
进程线程针对系统而言的和数据结构无关。进程是一段代码,是操作系统资源分配基本概念、是调度和运行的基本单位,进程可以有多个任务每个任务是一个线程; 堆栈针对的是数据结构。栈是右进右出函数变量、局部变量都属于栈,堆是树形结构类似于字典的目录对象数组都属于堆,线程中会用到栈和堆。 ...
分类:
编程语言 时间:
2020-02-17 20:19:23
阅读次数:
98