zoukankan      html  css  js  c++  java
  • 线上问题解决总结

    应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。

    1.根据top命令查看cpu高的那个线程的pid

    2.用ps -mp pid -o THREAD,tid,time显示线程列表

    3.printf "%x " tid  线程ID转换为16进制格式

    4.jstack pid |grep tid -A 30  打印线程的堆栈信息

    ===

    1、top命令:Linux命令。可以查看实时的CPU使用情况。也可以查看最近一段时间的CPU使用情况。

    2、PS命令:Linux命令。强大的进程状态监控命令。可以查看进程以及进程中线程的当前CPU使用情况。属于当前状态的采样数据。

    3、jstack:Java提供的命令。可以查看某个进程的当前线程栈运行情况。根据这个命令的输出可以定位某个进程的所有线程的当前运行状态、运行代码,以及是否死锁等等。

    4、pstack:Linux命令。可以查看某个进程的当前线程栈运行情况。

    ==

    1、top命令:Linux命令。可以查看实时的内存使用情况。  

    2、jmap -histo:live [pid],然后分析具体的对象数目和占用内存大小,从而定位代码。

    3、jmap -dump:live,format=b,file=xxx.xxx [pid],然后利用MAT工具分析是否存在内存泄漏等等。

  • 相关阅读:
    生成Ipa安装包的plist文件后生成下载链接
    ssh_key登录服务器,免密码登录
    Ruby中类的进阶(继承,private, public, protect)
    Ruby中的类
    Redis- redis.conf
    Active Job 基础
    rails框架配置
    rails中使用CarrierWave实现文件上传的功能
    Flask-SQLAlchemy
    Linux自动共享USB设备:udev+Samba
  • 原文地址:https://www.cnblogs.com/facker1/p/10751033.html
Copyright © 2011-2022 走看看