Linux教程

Linux常见问题排查与调试

本文主要是介绍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

这篇关于Linux常见问题排查与调试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!