首页 > 编程语言 >java线程监控-jstack+jvisualvm

java线程监控-jstack+jvisualvm

时间:2023-06-27 15:12:36浏览次数:44  
标签:management false tomcat sun jstack Dcom 线程 jvisualvm jmxremote

Java线程监控

一.Jstasck

1.查找进程

ps -ef | grep tomcat-oa

2.使用jstack监控

jstack 2429

二、jvisualvm

1.tomcat应用环境配置

1.1 tomcat环境配置

修改tomcat中,catalina.sh文件

cd /usr/src/tomcat-pinter/bin

vi catalina.sh

在第二行添加如下:

JAVA_OPTS="-Dcom.sun.management.jmxremote.port=10086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.196.130.103"

1.2杀死tomcat-pinter,重启tomcat-pinter

kill -9 pid1 pid2

cd /usr/src/tomcat-pinter/bin

./startup.sh & tail -f ../logs/catalina.out

2.jar包应用环境配置

启动jar包的时候添加:-Dcom.sun.management.jmxremote.port=10086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.196.130.100

Nohup java -Dcom.sun.management.jmxremote.port=10086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.196.130.100 -jar pinter.jar &

3.jvisualvm监控使用

3.1.在本地windows中打开jvisualvm

3.2.有点单机远程-添加远程主机

3.3.右键单击主机-添加jmx连接,添加端口号:10086

3.4.双击主机

标签:management,false,tomcat,sun,jstack,Dcom,线程,jvisualvm,jmxremote
From: https://www.cnblogs.com/shaohuang/p/17508894.html

相关文章

  • 线程池处理异步任务
    点击查看代码/***异步任务线程池(单例)*用于异步执行任务*/publicclassThreadPoolSingleton{privatestaticfinalAtomicReference<ThreadPoolSingleton>INSTANCE=newAtomicReference<>();privatefinalExecutorServiceexecutor;privateTh......
  • tqt507 pthread 多线程测试 atomic 原子操作
    ////tqt057测试结果find/opt-name*atomic.h*//aarch64-linux-gnu-gccdemoatomic.c-odemoatomic-pthread-I/opt/EmbedSky/TQT507/CoreA/longan/kernel/linux-4.9/tools/include//cp./demoatomic/home/book/nfs_rootfs#include<linux/atomic.h>#inclu......
  • Java程序CPU消耗分析之找出最耗CPU线程
    java程序CPU消耗过高一般有两种情况:1、us过高,应用占用CPU资源过高,需找出具体占用CPU的线程所执行的代码,分析定位问题原因。分析步骤如下:(1)使用top命令找出占用cpu最高的JAVA进程(2)找出占用cpu最高的线程top-Hp1781(3)占CPU最高线程17596换算成16......
  • jmeter中跨线程调用变量
    Jmeter中跨线程调用变量一.Jmeter中线程运行规则1.各个线程组是完全独立的,每个线程组是不同的业务,互不影响2.线程组中的每个线程也是完全独立3.线程组中的每个线程,都是从上往下执行,完成一轮循环后,继续下一轮循环4.存在业务流或者接口之前存在依赖关系的放同一个线程组5.setup......
  • 多进程和多线程以及协程的创建模板
    【一】开启多进程的创建模板(基于Process模块)【1】方式一:创建多进程importmultiprocessingdefworker(n):"""子进程要执行的任务"""print(f'子进程{n}正在执行')defmain():task_lists=[]foriinrange(100)#创建一个进程对象......
  • spring中的bean是否是线程安全的
    Spring中的bean是否线程安全,与Spring本身是无关的。Spring中会提供很多线程安全方面的策略,因此Spring中的bean也不具备线程安全的特性在Spring的作用域中,有以下几种;prototype(多例)每次getBean得到时候都会创建一个新的对象singleton(单例)在Spring容器中只存在一个全局共......
  • 线程上运行 task
    我没能实现始终在一个线程上运行task 前文我们总结了在使用常驻任务实现常驻线程时,应该注意的事项。但是我们最终没有提到如何在处理对于带有异步代码的办法。本篇将接受笔者对于该内容的总结。如何识别当前代码跑在什么线程上一切开始之前,我们先来使用一种简单的方式来识......
  • 【3.0】知识点小结(线程相关)
    【3.0】知识点小结(线程相关)【一】什么是线程进程资源单位线程执行单位将操作系统比喻成大的工厂进程相当于工厂里面的车间线程相当于车间里面的流水线每一个进程必定自带一个线程进程:资源单位​ 起一个进程仅仅只是在内存空间中开辟出一块独立的空间......
  • 【4.0】知识点小结(线程进阶)
    【4.0】知识点小结(线程进阶)【一】什么是死锁与递归锁死锁是指两个或多个进程,在执行过程中,因争夺资源而造成了互相等待的一种现象。即两个或多个进程持有各自的锁并试图获取对方持有的锁,从而导致被阻塞,不能向前执行,最终形成僵局。在这种情况下,系统资源利用率极低,系统处于一种......
  • 保证线程安全的10个小技巧
    前言对于从事后端开发的同学来说,线程安全问题是我们每天都需要考虑的问题。线程安全问题通俗的讲:主要是在多线程的环境下,不同线程同时读和写公共资源(临界资源),导致的数据异常问题。比如:变量a=0,线程1给该变量+1,线程2也给该变量+1。此时,线程3获取a的值有可能不是2,而是1。线程3这不......