一、查看Java进程pid的方式

1. ps命令

  ps -ef | grep java

2. jvm自带的 jps 工具

3. 当然还有其他命令也可以显示 netstat ,top

二、查看Java线程的方式

top命令

  top -Hp pid

前面的PID列就是 linux下的线程编号(10进制数字)

jstack工具 导出的线程栈中线程的编号是 16进制的,

只要将 10 进制 转换为16进制 数字 即可 去jstack线程栈中寻找对应的线程

三、线程问题排查

线程问题,最常见的问题因素还是 : CPU , MEM

1. CPU

CPU就是时间嘛, 占用的CPU越多,说明这个线程 占用的 CPU时间片 越多。

解决之道,jstack多导出几次栈,找到线程调用的方法,再查代码。

2. MEM

内存问题,内存中对象过多(有native(JNI)调用要注意本地方法栈内存)。

linux查看Java线程的更多相关文章

  1. Linux查看进程线程个数

    1.根据进程号进行查询: # pstree -p 进程号 # top -Hp 进程号 2.根据进程名字进行查询: # pstree -p `ps -e | grep server | awk '{pr ...

  2. linux查看修改线程默认栈空间大小(ulimit -s)

    linux查看修改线程默认栈空间大小 ulimit -s 1.通过命令 ulimit -s 查看linux的默认栈空间大小,默认情况下 为10240 即10M 2.通过命令 ulimit -s 设置大 ...

  3. Linux下Java线程具体监控和其dump的分析使用----分析Java性能瓶颈[张振华-Jack]

    作者:张振华(Jack) 这里对linux下.sun(oracle) JDK的线程资源占用问题的查找步骤做一个小结: linux环境下,当发现java进程占用CPU资源非常高,且又要想更进一步查出哪一 ...

  4. JVM探秘:jstack查看Java线程状态

    本系列笔记主要基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>,是这本书的读书笔记. jstack命令可以打印Java进程的各个线程堆栈跟踪信息,可以用来查看Java中各个 ...

  5. linux查看java jdk jre安装路径和设置环境变量

    一. 查看java jdk安装路径和设置环境变量 windows: set java_home:查看JDK安装路径 java -version:查看JDK版本 linux: whereis java ...

  6. linux查看java jdk安装路径和设置环境变量

    一:查看类型 windows: set java_home:查看JDK安装路径 java -version:查看JDK版本 linux: whereis java which java (java执行 ...

  7. linux 查看java的安装路径

    在linux下,如何找java的安装路径 han@ubuntu:/etc$ whereis java java: /usr/bin/java /usr/share/java /usr/lib/jvm/ ...

  8. linux 分析java 线程状态

    将线程3117 的线程消息放到文件dump17中 jstack 13492 > dump17 分析线程 grep java.lang.Thread.State dump17 | awk '{pr ...

  9. linux 查看Java 进程的内存使用情况

    top -b -n 1 | grep java| awk '{print "PID:"$1",mem:"$6",CPU percent:"$ ...

随机推荐

  1. [例子] nginx负载均衡搭建及测试

    一.Nginx + Tomcat 负载均衡测试(负载均衡+部分静态图片处理) 环境说明:  nginx+tomcat @ubuntu ok 首先你得有一个Ubuntu或者什么其他的linux. 安装j ...

  2. 跨域1-CORS跨域

    1.跨域:请求的资源和当前网站的,协议/域名/端口 不一样,会发起跨域HTTP请求 2.为什么会跨域出于安全原因,浏览器限制从脚本内发起的跨源HTTP请求. 例如,XMLHttpRequest和Fet ...

  3. Centos 6.9 install Python3.7

    # install python3sudo yum -y updatesudo yum -y install yum-utils yum install -y zlib-devel bzip2-dev ...

  4. 7.STM32中GPIO理解

    端口概述 在STM32中,每个I/O端口可以由软件配置成为输入/输出模式.复位期间或刚复位后,I/O端口被配置成浮空输入模式.所有的GPIO引脚有一个内部弱上拉和弱下拉,当配置为输入时, 它们可以被激 ...

  5. nginx1.14.0日志打印

    nginx日志打印 http属性log_format来设置日志格式 ,参考 https://www.jb51.net/article/52573.htm  <nginx日志配置指令详解> ...

  6. MongoDB复制集

    1.1 MongoDB复制集简介 一组Mongodb复制集,就是一组mongod进程,这些进程维护同一个数据集合.复制集提供了数据冗余和高等级的可靠性,这是生产部署的基础. 1.1.1 复制集的目的 ...

  7. 7.9 skippart.c 程序

    7.9 skippart.c 程序 #include <stdio.h> int main(void) { const float MIN = 0.0f; const float MAX ...

  8. 2018-2019-2 20175311 实验二 《Java开发环境的熟悉》实验报告

    2018-2019-2 20175303 实验二 <Java开发环境的熟悉>实验报告 一.实验准备 1.了解掌握实验所要用到的三种代码 伪代码 产品代码 测试代码 2.IDEA中配置单元测 ...

  9. docker(ce) on Ubuntu

    Note: # - requires given linux commands to be executed with root privileges either directly as a roo ...

  10. (转)Windows下cmd nginx的启动,重启,关闭功能

    转自:http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html cls @ECHO OFF SET NGINX_PATH=D:\ ...