1、top 命令,查看占用CPU最高的PID。ps aux|grep PID 进一步确定tomcat进程出现问题。2、ps -mp pid -o THREAD,tid,time显示线程列表3、printf "%x\n" tid 线程ID转换为16进制格式。4、jstack pid | grep ti ...
分类:
编程语言 时间:
2017-03-20 20:46:57
阅读次数:
145
1.服务器级别的锁等待 可以通过show processlist看到等待锁的线程id,但是无法知道究竟哪个线程持有锁 可以通过mysqladmin debug 相关等待锁的线程以及谁持有锁可以在错误日志中找到 #以下是innodb存储引擎中锁等待以及哪个线程持有锁的查找sqlSELECT r.trx ...
分类:
数据库 时间:
2017-02-25 17:04:35
阅读次数:
156
(1)普通方法调用(直接调用)与Invoke()方法调用方法 使用的线程Id是一样的 即属于同步。 (2)BeginInvoke(<输入和输出变量>,AsyncCallback callback,object asyncState)方法调用方法 则是启用了新的线程Id 属于异步 可通过 Thread ...
分类:
其他好文 时间:
2017-02-15 00:37:47
阅读次数:
176
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。 一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。 另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源, ...
分类:
编程语言 时间:
2017-02-08 16:03:59
阅读次数:
200
var cts = new CancellationTokenSource(); Thread t = new Thread(new ThreadStart(() => { Console.WriteLine(string.Format("{1}线程Id:{0}开始运行", Thread.C... ...
分类:
编程语言 时间:
2017-02-05 19:20:38
阅读次数:
135
5.终止线程 线程退出的方式有3种 1.线程体函数执行结束,用 pthread_create() 函数创建一个新线程的时候会执行一个函数,这个函数就是线程体函数,如果该函数执行完毕,那么线程退出,类似于住进程的 main() 函数返回。 2.线程被另一个线程取消。这种方法类似于一个进程被另一个进程调 ...
分类:
编程语言 时间:
2017-01-15 20:39:38
阅读次数:
209
某一个项目CPU占用率一直很高,经常在40%-50%之间,最近比较闲,就开始了挂查工作。 1.通过 jstack命令输出进程的堆栈信息 将堆栈信息输出到log.txt 2. 通过ProcessExplorer查找CPU占用过高的线程 从图中可以看到,占用CPU过高的线程ID是8924,再将8924转 ...
分类:
编程语言 时间:
2017-01-11 12:57:00
阅读次数:
541
一次线上问题的解决 线上发现服务cpu使用达到98%,负载高达200多,64核心cpu,下面介绍解决过程: 1.top命令查出占用cpu高的进程pid 2.使用jstack -l pid >dump.txt 获取dump文件 3.使用top -H查询出消耗资源的线程号tid(十进制线程id),转换为 ...
分类:
其他好文 时间:
2016-12-22 22:49:03
阅读次数:
185
转载地址:http://yueliangdao0608.blog.51cto.com/397025/1180917 如果遇到死锁了,怎么解决呢?找到原始的锁ID,然后KILL掉一直持有的那个线程就可以了, 但是众多线程,可怎么找到引起死锁的线程ID呢? MySQL 发展到现在,已经非常强大了,这个问 ...
分类:
数据库 时间:
2016-12-22 14:27:08
阅读次数:
333
今天登陆同事的一台gateway 开始以为hive环境登陆不了了,仔细一看看了下是因为机器很卡,我每次等几秒没登陆就ctrl+c了,看了下是有个java进程cpu:340.4% mem:14.6% 一般解决方法是通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用 1. ...
分类:
编程语言 时间:
2016-12-14 19:08:48
阅读次数:
235