JVM
文章平均质量分 77
C18298182575
跳出舒适区
展开
-
java jvm调优在哪里设置_JVM调优(一)参数设置
一. GC优化1.1 GC优化是必要的吗现在来想一想GC优化的最根本原因,垃圾收集器的工作就是清除Java创建的对象,垃圾收集器需要清理的对象数量以及要执行的GC数量均取决于已创建的对象数量。因此,为了使你的系统在GC上表现良好,首先需要减少创建对象的数量。俗话说“冰冻三尺非一日之寒”,我们在编码时要首先要把下面这些小细节做好,否则一些琐碎的不良代码累积起来将让GC的工作变得繁重而难于管理,比如使用StringBuilder或StringBuffer来代替String;尽量少输出日志。尽管如转载 2022-01-06 14:13:10 · 603 阅读 · 0 评论 -
JVM内存
大多数 JVM 将内存区域划分为Method Area(Non-Heap)(方法区),Heap(堆),Program Counter Register(程序计数器),VM Stack(虚拟机栈,也有翻译成JAVA 方法栈的),Native Method Stack(本地方法栈),其中Method Area和 Heap是线程共享的 ,VMStack,Native Method Stack和Program Counter Register 是非线程共享的。为什么分为线...转载 2021-12-01 22:12:51 · 86 阅读 · 0 评论 -
虚拟机
虚拟机账号密码shenkeroot111111rootroot原创 2019-08-02 17:23:54 · 132 阅读 · 0 评论 -
虚拟机设置固定ip,ping不通,xshell无法连接
场景:在本地部署fastDFS,需要配置虚拟机ip,但是这个ip是变动的,每次重启都需要重新配置,应该设为固定网上很多教程,自己却花了大半天时间,可以参考文章1:https://www.cnblogs.com/m97i/p/8626545.html文章2:https://blog.csdn.net/u014466635/article/details/80284792文章3:htt...原创 2019-07-19 15:07:04 · 2164 阅读 · 2 评论 -
VMware虚拟机安装Linux系统(详解版)
许多新手连 Windows 的安装都不太熟悉,更别提Linux的安装了;即使安装成功了,也有可能破坏现有的 Windows 系统,比如导致硬盘数据丢失、Windows 无法开机等。所以一直以来,安装 Linux 系统都是初学者的噩梦。然而,通过虚拟机技术很容易冲破这种困境。由于虚拟机安装 Linux 所有的操作(例如硬盘分区、删除或修改数据)都是在虚拟硬盘中进行,因此不会对现有的数据和系统造...转载 2019-07-16 15:37:20 · 1556 阅读 · 0 评论 -
JVM(4):Jvm调优-命令篇
原文出处: 纯洁的微笑运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole、大名鼎鼎的VisualVM,IBM的Memory Analyzer等等,但是在生产环境出现问题的时候,一方面工具的使用会有所限制,另一方面喜欢装X的我们,总喜欢在出现问题的时候在终端输入一些命令来解决。所有的工具几乎都是依赖于jdk的接口和...转载 2019-02-14 14:31:38 · 160 阅读 · 0 评论 -
JVM调优总结
原文:https://www.cnblogs.com/andy-zhou/p/5327288.html#_caption_18目录数据类型堆与栈Java对象的大小引用类型按照基本回收策略分按分区对待的方式分按系统线程分如何区分垃圾如何处理碎片如何解决同时存在的对象创建和对象回收问题为什么要分代如何分代什么情况下触发垃圾回收分代垃圾回收流程示意选择合适的垃圾收集算法小结回收器选择辅助信息常见...转载 2019-02-14 13:30:37 · 114 阅读 · 0 评论 -
通过 jstack 与 jmap 分析一次线上故障
原文出处: kingszelda一、发现问题下面是线上机器的cpu使用率,可以看到从4月8日开始,随着时间cpu使用率在逐步增高,最终使用率达到100%导致线上服务不可用,后面重启了机器后恢复。二、排查思路简单分析下可能出问题的地方,分为5个方向:系统本身代码问题 内部下游系统的问题导致的雪崩效应 上游系统调用量突增 http请求第三方的问题 机器本身的问题三、开...转载 2019-02-17 00:15:48 · 691 阅读 · 0 评论 -
从一次线上故障思考Java问题定位思路
原文出处: melonstreet问题出现:现网CPU飙高,Full GC告警CGI 服务发布到现网后,现网机器出现了Full GC告警,同时CPU飙高99%。在优先恢复现网服务正常后,开始着手定位Full GC的问题。在现场只能够抓到四个GC线程占用了很高的CPU,无法抓到引发Full GC的线程。查看了服务故障期间的错误日志,发现更多的是由于Full GC引起的问题服务异常日志,无法确...转载 2019-02-17 00:11:19 · 155 阅读 · 0 评论 -
Java 技术之垃圾回收机制
原文出处: wingjay垃圾回收机制是 Java 非常重要的特性之一,也是面试题的常客。它让开发者无需关注空间的创建和释放,而是以守护进程的形式在后台自动回收垃圾。这样做不仅提高了开发效率,更改善了内存的使用状况。今天本文来对垃圾回收机制进行讲解,主要涉及下面几个问题:什么是堆内存? 什么是垃圾? 有哪些方法回收这些垃圾? 什么是分代回收机制?什么是 Java 堆内存堆是...转载 2019-02-16 23:49:09 · 116 阅读 · 0 评论 -
如何使用jstack分析线程状态
背景记得前段时间,同事说他们测试环境的服务器cpu使用率一直处于100%,本地又没有什么接口调用,为什么会这样?cpu使用率居高不下,自然是有某些线程一直占用着cpu资源,那又如何查看占用cpu较高的线程? 当然一个正常的程序员不会写出上述代码,这里只是为了让一个线程占用较高的cpu资源。top命令在linux环境下,可以通过top命令查看各个进程的cpu使用情况,默认按c...转载 2019-02-16 17:32:59 · 128 阅读 · 0 评论 -
内存溢出分析命令
查看堆使用情况:jconsole查看启动信息,堆内存分配:ps -ef|grep java;类似:jps查询服务器内存:free -h查看进程内存占用情况:top查找某文件数据并统计条数:grep Full gc-201901242032.log | wc -l查询进程id:jps分析线程信息:jstack -l 20063 > 1.txt查询对象数量及大小:j...原创 2019-02-15 17:09:49 · 704 阅读 · 0 评论 -
java命令--jmap命令使用
jdk安装后会自带一些小工具,jmap命令(Java Memory Map)是其中之一。主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节。jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏,检查一些严重影响性能的大对象的创建,检查系统中什么对象最多,各种对象所占内存的大小等等。可以使用jmap生成Heap Dump。 ...转载 2019-02-15 17:04:34 · 675 阅读 · 0 评论 -
Linux top命令的用法详细详解
首先介绍top中一些字段的含义: VIRT:virtual memory usage 虚拟内存1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量RES:resident memory usage 常驻内存1、进程当前使用的内存大小,但不包括swap out2、包含其他进程的...转载 2019-02-15 16:21:04 · 11731 阅读 · 0 评论 -
一次生产内存溢出记录
一,报错信息:二,问题定位:这是一个查询功能三,代码:public JSONObject selectInvTransactions(InvTransactionsVO invTransactionsVO) { int pageNum = invTransactionsVO.getPageNum() == null ? 0 : invTransactionsV...原创 2019-02-15 13:43:31 · 458 阅读 · 0 评论 -
java.lang.OutOfMemoryError异常解决方法
原因:常见的有以下几种:1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;3.代码中存在死循环或循环产生过多重复的对象实体;4.使用的第三方软件中的BUG;5.启动参数内存值设定的过小; 常见错误提示:1.tomcat:java.lang.OutOfMemoryError: PermGen s...转载 2019-02-15 11:05:47 · 6267 阅读 · 0 评论 -
JVM内存结构 VS Java内存模型 VS Java对象模型
Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模型和Java对象模型,这就是三个截然不同的概念,但是很多人容易弄混。 可以这样说,很多高级开发甚至都搞不不清楚JVM内存结构、Java内存模型和Java对象模型这三者的概念及其间的区别。甚至我见过有些面试官自...转载 2019-02-14 17:47:39 · 115 阅读 · 0 评论 -
深入理解JVM—JVM内存模型
原文:https://blog.csdn.net/shadowcw/article/details/82050995我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等待成本,但是随着CPU的发展,内存的读写速度也远远跟不上CPU的读写速度,因...转载 2019-02-14 17:04:43 · 108 阅读 · 0 评论