Linux常见问题排查与调试
作者:互联网
可能存在的问题
CPU:
top
top -Hp pid
print '%x\n' pid
jstack pid|grep nid -A 50 color
//jstack 7957 > test.txt11
死锁:
jps -l(ps -ef|grep name、top -Hp pid) 查询所有java进程
jstack -l pid 查询线程状态
/opt/java8/bin/jstack -l 28367
2019-06-25 15:04:46
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.77-b03 mixed mode):
"Attach Listener" #453 daemon prio=9 os_prio=0 tid=0x00007f9f94001000 nid=0xf30 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
(waiting)
Locked ownable synchronizers:
- None
"grpc-default-executor-263" #452 daemon prio=5 os_prio=0 tid=0x00007f9f4c01f800 nid=0x9aa waiting on condition [0x00007f9f398bd000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007400243f0> (a java.util.concurrent.SynchronousQueue$TransferStack)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Locked ownable synchronizers:
- None
java.lang.Thread.State: WAITING(死锁)
https://www.cnblogs.com/wang-meng/p/71c2a5cba49794f5af38f243db4f70ab.html
https://www.jianshu.com/p/8d5782bc596e
https://www.cnblogs.com/aflyun/p/9194104.html
标签:常见问题,java,Thread,SynchronousQueue,util,concurrent,Linux,调试,ThreadPoolExecutor 来源: https://www.cnblogs.com/mengziyang/p/15027183.html