java工具jconsole/jstat学习
参考视频【java】jvm指令与工具jstat/jstack/jmap/jconsole/jps/visualVM_哔哩哔哩_bilibili
一、jps
我们再windows和linux都可以看到哪些java进程。
有小伙伴又会问了 这个类是java的 那其他的这么多进程18096 /8685 这些是啥啊 其实也是java进程,只不过是其他程序,比如idea。
二 、jconsole
由于是图形化界面更加清晰 其实jconsole = jstat+jstack
点击test类,再点击连接,查看详细情况
/*** vmOptions* -Xms10m -Xmx10m* 最小 最大* -XX:HeapDumpOnOutOfMemoryError*/ public class TestJavaUtils {public static void main(String[] args) throws InterruptedException {int i=0;while (true){System.out.println("put success");Thread.sleep(1000);}} }注意 要将vm options 设置为 -Xms10m -Xmx10m 否则基本看不到内存变化
可以看到的最大值是9216=10M*1024*0.9 这个0.9就不多说了 有兴趣的自己百度。
这里还可以看到GC。
这个时候有小伙伴就会问了,我知道他GC了对我的工作有什么帮助呢? 我以前也有这个疑问,但是没人解答,这里我告诉你。
为什么我要你设置堆才10M。一半来说就都是1G 2G 甚至10G的内存。因为设置大了,你基本看不到GC,或者GC的时间很短
这里比如我才1分钟就有0.049s的GC时间了,而且我的代码非常简单,复杂10倍不过分吧,那就是0.5s的GC时间,一分钟有0.5s在GC那么是会影响你的正常程序的。例如这篇文章最后,就是GC时间太长CPU负载高,导致任务慢
hadoop中NameNode节点CPU使用量高 解决方案(亲测) - 爱码网
这时小伙伴又会说了 你再windows有图形界面,那我在服务器怎么看
三、jstat
参考文章 https://danny-jiang.blog.csdn.net/article/details/105804076
jstat 是JDK中提供的一个命令行工具,主要用来打印JVM 性能数据相关的统计数据。主要包含以下几个方面:
-
垃圾回收(GC)方面数据
-
编译(Compilation)相关数据
-
类加载信息(Class Loader)
通过jps -l 找到 java的进程号 pid 然后
jstat -gcutil pid 10000 10 这个是看占的比例
jstat -gc pid 10000 10 这个看的是每个空间占的实际大小
jstat -gcnew pid 只看年轻代
jstat -gcold 查看老年代
参数解释:
-gc :打印相关的统计参数
-t: 在每行日志之前加上JVM的启动时间
pid : 目标Java进程的ID
10000: jstat命令执行间隔时间(milliseconds),10000表示每10s打印一行日志
10: jstat命令的执行次数,(和上面的时间间隔一起,表示jstat会每10s执行1次,总共执行10次). 可以不要
这张图可以看到 E区伊甸园区数据不断增多,等到伊甸园区满了来个小GC,就把数据放到幸存者s0区,同时把S1区的数据放到老年代,这时算搞了一次YGC,多了快满的时候就会来个GC
等到老年代数据满了就会来一次OGC
参数意义:
time : JVM启动时间(单位为秒)
S0C :年轻代中S0区的容量 (字节)
S1C :年轻代中S1区的容量 (字节)
S0U :年轻代中S0区目前已使用空间 (字节)
S1U :年轻代中S1区目前已使用空间 (字节)
EC :年轻代中Eden区的容量 (字节)
EU :年轻代中Eden区目前已使用空间 (字节)
OC :老年代的容量 (字节)
OU :老年代目前已使用空间 (字节)
M : MetaspaceSize元空间
CCS : CompressedClassSpaceSize压缩类
YGC :从应用程序启动到采样时年轻代中GC次数
YGCT :从应用程序启动到采样时年轻代中GC所用时间(s)
FGC :从应用程序启动到采样时老年代(全GC)GC次数
FGCT :从应用程序启动到采样时老年代(全GC)GC所用时间(s)
GCT:从应用程序启动到采样时GC用的总时间(s)
这个用法在服务器上也是通用的。。。。通过查看GC次数和时间来检查某些服务是不是内存设置过小。
四、jstack
用法 jstack pid
五、jmap
内存状态可以down下来
jmap -dump:file=filename pid 把内存状态down到本地
jmap -heap pid 打印内存信息
这里打印的比较人性化,其实和jstat差不多.
----后面有机会 找个案例来实战演练
相关文章:
java工具jconsole/jstat学习
参考视频【java】jvm指令与工具jstat/jstack/jmap/jconsole/jps/visualVM_哔哩哔哩_bilibili 一、jps 我们再windows和linux都可以看到哪些java进程。 有小伙伴又会问了 这个类是java的 那其他的这么多进程18096 /8685 这些是啥啊 其实也是java进程,只不过是其他程…...
WSN_1 介绍;部分应用介绍
学习自书籍:Fundamentals of Wireless Sensor Networks. WSN 介绍 传感器 从基础角度说,传感器观测采集现实世界的一些数据。 另一个名称是 transducer 换能器,指传感器将一些形式的信号转换为其他形式的信号,如光敏传感器 光…...
linux常用命令介绍 05 篇——实际应用篇(用 cut、uniq等统计文档里每个关键词出现的次数)
linux常用命令介绍 05 篇——实际应用篇(用 cut、uniq等统计文档里每个关键词出现的次数)1. 先导文章——关于行过滤 和 列截取2. 关于单个统计单词个数2.1 grep2.2 wc3. 统计文档中每个关键词出现的次数3.1 先看文档内容 需求3.1.1 文档内容3.1.2 需求…...
大数据处理学习笔记1.7 Scala类与对象
文章目录零、本节学习目标一、类(一)类的定义(二)类的实例化二、单例对象(一)单例对象概念(二)案例演示三、伴生对象(一)伴生对象概念(二…...
Feign踩坑源码分析 -- 请求参数分号变逗号
一.案例 1.1.Post请求: http://localhost:8250/xx/task/test json格式参数: {"string": "a;b;c;d" } 1.2.controller代码: AutowiredDataSourceClientService dataSourceClientService;RequestMapping("/test"…...
nginx通用history模式刷新
注:1.通用配置只支持二段路由,二段及以上依然需要单独进行配置 2.所有location后面的路径,都需要使用通配符进行配置 location ^~ /phdp/ {try_files $uri $uri/ /phdp/index.html;index ruoyi.html index.html index.htm;}location ^~ /phdp-api/ {client_max_body_size 20m;p…...
Linux系统安装:Zookeeper
目录 Zookeeper的安装 1、环境准备 2、上传 3、解压文件到opt/zookeeper目下 4、安装完后进入zookeeper,找到conf目录 5、复制zoo_sample.cfg 6、编辑zoo.cfg 7、复制一份会话,进入zookeeper安装目录,创建一个文件夹zkdata࿰…...
cocos2dx+lua学习笔记:UIPageView的使用
前言 本篇在讲什么 本篇简单介绍Lua篇cocos2dx中UIPageView的相关内容 仅介绍简单的应用,仅供参考 本篇适合什么 适合初学Cocos2dX的小白 适合想要在Cocos2dx-lua中使用UIPageView的人 本篇需要什么 对Lua语法有简单认知 对Cocos2dx-Lua有简单认知 Cocos2…...
MyBatis常见面试题汇总(超详细回答)
目录 1.什么是Mybatis? 2.Mybatis的优缺点? 3.#{} 和 ${} 的区别是什么? 4.xml 映射文件中有哪些标签? 5.模糊查询 like 语句该怎么写? 6.Mapper 接口的工作原理是什么?Mapper 接口里的方法,参数不同…...
Jvm调优实战笔记
一、基础命令jps 查看所有java进程jinfo 进程号 查看该线程相关信息3、jstat 统计信息(数据跟踪信息)jstat -gc 进程号 查看该线程在内存中每一块占用的大小jstat -gc 进程号 时间(毫秒) 更新频率4、jstack 跟踪线程jstack 进程号…...
JVM 全面了解
JVM包含两个子系统和两个组件,两个子系统为Class loader(类装载器)、Execution engine(执行引擎);两个组件为Runtime data area(运行时数据区)、Native Interface(本地接口)。 方法区:存储已被虚拟机加载的类元数据信息(元空间) 堆…...
阿里开源自研高性能核心搜索引擎 Havenask
去年12月,阿里开源了自研的大规模分布式搜索引擎 Havenask(内部代号 HA3)。  Havenask 是阿里巴巴内部广泛使用的大规模分布式检索系统,支持了淘宝、天猫、菜鸟、优酷、高德、饿了么等在内整个阿里的搜索业务&#…...
nginx日志服务之敏感信息脱敏
1. 创建实验资源 开始实验之前,您需要先创建实验相关资源。 日志服务之敏感信息脱敏与审计 2. 创建原始数据 本步骤将指导您如何创建NGINX模拟数据。 双击打开虚拟桌面的Firefox ESR浏览器。 在RAM用户登录框中单击下一步,并复制粘贴页面左上角的子…...
【uni-app教程】一、UniAPP 介绍
一、UniAPP 介绍 (1) 什么是 UniAPP? uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到 iOS,Android,HS,以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉》等多个平台&#…...
Splunk Real-time Search 的研究
最近客户想搞清Splunk real-time search 和related search 有啥区别,想两个都试试,看看效果。 为了更好的说明什么是real-time search, 先看一下: With real-time searches and reports, you can search events before they are indexed and preview reports as the event…...
SWM181 串口功能使用介绍
SWM181 串口功能使用介绍📌SDK固件包:https://www.synwit.cn/kuhanshu_amp_licheng/✨注意新手谨慎选择作为入门单片机学习。🌼开发板如下图: 📋SWM181描述上写了有4个串口,在数据手册上,将引脚…...
Stochastic Approximation 随机近似方法的详解之(三)Dvoretzky’s convergence theorem
定理内容 Theorem 6.2 (Dvoretzky’s Theorem). Consider a stochastic process wk1(1−αk)wkβkηkw_{k1}\left(1-\alpha_k\right) w_k\beta_k \eta_kwk1(1−αk)wkβkηk, 其中{αk}k1∞,{βk}k1∞,{ηk}k1∞\{\alpha_k\}^\infty_{k1},\{\beta_k\}^\infty_{k1},\…...
7个ES6解构技巧让代码更简洁
您是否厌倦了编写臃肿且难以阅读的代码?想要提升您的编码技能并使您的代码更具可读性和简洁性? 从解构对象和数组到使用默认值和展开运算符,我们将涵盖所有内容,现在,我们将准备好掌握干净简洁的编码艺术。 1.解构对…...
曾经被人们看成是异想天开的产业互联网,或许终将会实现
一波还未平息,一波又起。元宇宙的热度还未彻底散去,ChatGPT已经成为了名符其实的新风口。如果用一个概念来定义现在这样一个热点和风口频出的时代的话,我想,用产业互联网或许是再合适不过的了。对此,可能有人并不认同。…...
log4j控制台不打印日志的故障解决方案
前言 接管了别的项目组的一个代码,在IDAE调试程序的过程中,发现log4j日志居然没有打印在控制台上,日志相关代码也没有问题。 在网上搜索了一圈,总结了一下个人解决这个问题的流程。 流程 1. 判断用了什么配置文件 不知道是出…...
C# 序列化时“检测到循环引用”错误的彻底解决方案
目录 一,问题表现 二、没有技术含量的解决方案 三、本人彻底的解决方案 简要说明 贴代码 思路解析 思路 一,问题表现 示例代码如下: [Serializable] public class NodeTest {public NodeTest (){new List<NodeTest> ();}p…...
小红书“复刻”微信,微信“内造”小红书
配图来自Canva可画 随着互联网增长红利逐渐见顶,各大互联网平台对流量的争夺变得愈发激烈。而为了寻找新的业务可能性,各家都在不遗余力地拓宽自身边界。在此背景下,目前最为“吸睛”和“吸金”的社交、电商、种草、短视频等领域,…...
用arthas轻松排查线上问题
你是否在项目中会碰到以下一些问题: 在代码中打印各种日志来排查,比如方法的入参,出参,及在方法体中打印日志判断走哪行代码还有你觉得代码没问题,可是运行出现却是以前的bug,感觉代码没修改,或…...
mysql一explain结果分析
1. EXPLAIN简介 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。 ➤ 通过EXPLAIN,我们可以分析出以下结果: 表的读取顺序数据读取操作的操作类型哪些索引可…...
原理底层计划--HashMap
HashMap 之前写了“Java集合TreeMap红黑树一生只爱一次”,说到底还是太年轻了,Map其实在排序中应用比较少,一般追求的是速度,通过HashMap来获取速度。hashmap 调用object hashcode方法用于返回对象的哈希码,主要使用在…...
win10 设备管理器中的黄色感叹号(华硕)
目录一、前言二、原因三、方案四、操作一、前言 打开设备管理器,我们可以看到自己设备的信息,但是在重装系统后,你总会在不经意间发现。咦,怎么多了几个感叹号??? 由于我已经解决该问题&#…...
新产品上市推广不是“铺货”上架
只有不断推出新产品的企业才能走得长远,但现实中往往有很多企业投入了大量人力、物力、财力研发的新产品却在推广的过程中屡屡受挫。那么,为什么适合市场的新产品会在市场营销推广的过程中夭折呢?小马识途营销顾问分析有如下几点:…...
MATLAB训练神经网络小结
MATLAB训练神经网络小结1、一个典型例子1.1 可视化神经网络1.2 指定某一层的激活函数1.3 训练神经网络时使用L1正则化1.4返回训练过程中的参数1.5 查看训练好的权重系数1.6 如何使用早停法来防止过拟合1、一个典型例子 例如输入特征为10维,想训练一个10x20x10x1的三…...
实战:一天开发一款内置游戏直播的国产版Discord应用【附源码】
游戏直播是Discord产品的核心功能之一,本教程教大家如何1天内开发一款内置游戏直播的国产版Discord应用,用户不仅可以通过IM聊天,也可以进行语聊,看游戏直播,甚至自己进行游戏直播,无任何实时音视频底层技术…...
嵌入式学习笔记——基于Cortex-M的单片机介绍
基于Cortex-M的单片机介绍前言生产厂商及其产品线ARM单片机的产品线命名规则留个作业习单片机的资料准备STM32开发所需手册1.芯片的数据手册作业2前言 本文继续接着上一篇中关于Cortex-M的介绍,来记录一些关于ARM系单片机的知识。 生产厂商及其产品线 芯片厂商在…...
网站建设需要的语言/北京seo网络推广
一.什么是代码片段(code snippets) 代码片段:指用来存放程序执行代码的一块内存区域。 诸如很多开发工具基本都集成了这一功能,可以说你在coding的时候经常都在使用它,或许你不知道你在使用的正是snippet的…...
大型电子商务网站建设公司/电商运营基础知识
环境:Centos 5.5 将 二:192.168.226.250 的配置清除重新配置 两台虚拟机 一:192.168.226.136 三:192.158.226.250 一:修改 三:192.158.226.250 的named.conf 如下 二:重启,测…...
网站建设方案书2000字/网络营销推广专家
友元函数 1、单方向 2、不具有传递性 3、不具有继承特性 1.外部函数友元 作为外部函数,本身不具有this指针,需要创建对象传参 外部函数后不能加const 主函数也可以定义成友元函数 实际上在调动主函数之前还调动了其他函数 从内核加载 Windows支持多线…...
招工信息发布平台/seo网站推广杭州
先来先服务(FCFS,First Come First Serve) FCFS算法思想主要从“公平”的角度考虑(类似于我们生活中排队买东西的例子)算法规则按照作业/进程到达的先后顺序进行服务用于作业/进程调度用于作业调度时,考虑的是哪个作业先到达后备队列;用于进…...
西宁商城网站建设公司/seo推广是什么意思
第三卷 第十二章 年龄和性别预测 为了构建一个能够识别照片中人物年龄和性别的系统,我们将使用 Adience 数据集。我们训练两个模型,一个用于年龄识别,另一个用于性别识别。此外,我们还必须依靠更高级的计算机视觉算法,例如面部标志和面部对齐来帮助我们进行预处理 我们在分…...
天津东丽做网站/今日头条新闻最新事件
goto语句 Go 语言的 goto 语句可以无条件地转移到过程中指定的行。 goto 语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。 但是,在结构化程序设计中一般不主张使用 goto 语句, 以免造成程序流程的…...