zoukankan      html  css  js  c++  java
  • java CPU占用高分析

     1 import java.io.BufferedReader;
     2 import java.io.InputStreamReader;
     3 
     4 public class CPUTest {
     5     public static void createBusyThread() {
     6         Thread thread = new Thread(new Runnable() {
     7             @Override
     8             public void run() {
     9                 while (true)   // 第41行
    10                     ;
    11             }
    12         }, "testBusyThread");
    13         thread.start();
    14         }
    15 
    16         /**
    17          * 线程锁等待演示
    18          */
    19         public static void createLockThread(final Object lock) {
    20         Thread thread = new Thread(new Runnable() {
    21             @Override
    22             public void run() {
    23                 synchronized (lock) {
    24                     try {
    25                         lock.wait();
    26                     } catch (InterruptedException e) {
    27                         e.printStackTrace();
    28                     }
    29                 }
    30             }
    31         }, "testLockThread");
    32         thread.start();
    33         }
    34 
    35         public static void main(String[] args) throws Exception {
    36             BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    37             br.readLine();
    38             createBusyThread();
    39             br.readLine();
    40             Object obj = new Object();
    41             createLockThread(obj);
    42         }
    43 }

    这是源代码。

    用命令top结果如下:

    从上图可以看出进程6777CPU占用率特别高,下面用命令top -p 6777 -H 查看具体是这个进程的哪个线程占用CPU高。

    上图可知是线程7003.线程好转换成16进制,注意是小写字母,0x1b5b。使用jstack 6777|grep -A 10 0x1b5b来查询出具体的线程状态

    找到上边代码的第十行,发现是while循环一直运行。

  • 相关阅读:
    一句话概括下spring框架及spring cloud框架主要组件
    服务注册与发现
    微服务API Gateway
    微服务分布式事务的一些思考
    微服务框架的存储架构
    轻量级微服务框架的通信架构
    基于Docker的负载均衡和服务发现
    测试一下标签
    让360安全浏览器默认使用谷歌内核
    schema中字段类型的定义
  • 原文地址:https://www.cnblogs.com/qiaoshanzi/p/5717275.html
Copyright © 2011-2022 走看看