Linux 下如何定位代码问题

1、先通过top命令找到消耗cpu很高的进程id假设是11876

2、执行top -p 11876单独监控该进程

3、在第2步的监控界面输入H,获取当前进程下的所有线程信息

4、找到消耗cpu特别高的线程编号,假设是11354

5、执行jstack 11876对当前的进程做dump,输出所有的线程信息

6 将第4步得到的线程编号11354转成16进制是0x2c5a

7 根据第6步得到的0x2c5a在第5步的线程信息里面去找对应线程内容

8 解读线程信息,定位具体代码位置

简单吧!!

时间: 2024-12-13 20:46:46

Linux 下如何定位代码问题的相关文章

linux下重新定位svn url方法

linux下重新定位svn url方法: 如果更换了SVN服务器,就需要重新定位,指向新的svn url. 重新定位命令:svn switch --relocate 原svn地址 新svn地址. 查看原svn路径方法:svn info linux下重新定位svn url方法

转载: linux下创建svn代码库

linux下创建svn代码库 1.安装svn客户端 2.创建svn代码库 1.安装svn客户端 1.1.使用命令安装 1)CentOS $ yum install subversion 2)ubuntu sudo apt-get install subversion 1.2.源码安装 http://www.cnblogs.com/fengbohello/p/4142810.html 2.开启svn服务进程 2.1.我的习惯是把代码仓库放在/opt/svn目录下,所以先创建目录/opt/svn $

Linux下编译C代码,出现tan函数报错的情况

undefined reference to `tan' 但是已经包含了头文件 <math.h>了,可还是报错,说是找不到tan 这个问题的原因不是很清楚, 但是网上给出的方案,就是编译的时候 加上参数 -lm 有说l表示Lib ,m表示 math.h  , ****************************************************************************************************** 以下是一些说明 使用math.h

Linux下C/C++代码调用PHP代码

Linux下C/C++代码可以通过popen系统函数调用PHP代码并通过fgets函数获取PHP代码echo输出的字符串. //main.c char str[1024] = {0}; char * cmd = "php /src/test/c.php 1234"; FILE * stream = NULL; if ((stream = popen(cmd, "r")) == NULL){//通过popen执行PHP代码 return ""; }

在Linux下调试Python代码的各种方法

这是一个我用于调试或分析工具概述,不一定是完整全面,如果你知道更好的工具,请在评论处标记. 日志 是的,的确,不得不强调足够的日志记录对应用程序是多么的重要.您应该记录重要的东西,如果你的记录足够好的话,你可以从日志中找出问题从而节省大量的时间. 如果你曾经用print语句来调试代码现在停下吧,用logging.debug替代,开始可以慢慢来,以后完全禁用它... 追踪有时看到程序如何被执行会很有帮助.你可以使用IDE的调试共轭ngn一步一步的运行程序,但你需要知道你要找的是什么,否则这将会是一

linux下创建svn代码库

1.安装svn客户端 2.创建svn代码库 1.安装svn客户端 1.1.使用命令安装 1)CentOS $ yum install subversion 2)ubuntu sudo apt-get install subversion 1.2.源码安装 http://www.cnblogs.com/fengbohello/p/4142810.html 2.开启svn服务进程 2.1.我的习惯是把代码仓库放在/opt/svn目录下,所以先创建目录/opt/svn $ mkdir /opt/svn

socket编程模拟linux下的ssh代码实现

实现思路: 1.提供输入指令的客户端: 2.提供返回执行指令结果的服务端 3.寻找服务端返回结果一次无法全部接收的解决思路 服务端代码(ssh_server.py) 1 #coding=utf-8 2 import socket,os 3 4 server = socket.socket() 5 server.bind(('localhost', 9999)) 6 server.listen() 7 client,addr = server.accept() 8 while True: 9 da

linux下创建git代码

1.创建一个新的repository: 先在github上创建并写好相关名字,描述. $cd ~/hello-world        //到hello-world目录 $git init                     //初始化 $git add .                   //把所有文件加入到索引(不想把所有文件加入,可以用gitignore或add 具体文件) $git commit               //提交到本地仓库,然后会填写更新日志( -m "更新日

怎样在Windows和Linux下写相同的代码

目前,Linux在国内受到了越来越多的业内人士和用户的青睐.相信在不久的将来,在国内为Linux开发 的应用软件将会有很大的增加(这不,金山正在招兵买马移植WPS呢).由于未来将会是Windows和Linux两强鼎立的格局,怎样能够使得开发的软件保持最大的可移植性就成了一个很重要的问题.小弟经过一段时间的摸索,找到了这个问题的圆满解答. 在Linux下,所有的开发工具和库都属于自由软件,可以免费获得并且功能强大.如果这些工具和库都有相应的Windows版,那么我们就能够在Windows和Linu