
JVM
木林森淼
土木工程-软件开发-项目管理-解决方案-管理
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux服务器java进程占用系统内存高
使用top命令查看系统资源的使用情况,命令:top 如图可以看到java的进程内存使用率较高,java进程的内存使用率达到了70%+ 2.定位线程问题(通过命令查看9718进程的线程情况),命令:ps p 9718 -L -o pcpu,pmem,pid,tid,time,tname,cmd 由此可以看到这PID:9718的进程产生了很多线程。接下来就可以通过jstack...转载 2019-01-04 09:26:49 · 4386 阅读 · 0 评论 -
java中三种常见内存溢出错误的处理方法
原文路径:http://outofmemory.cn/java/OutOfMemoryError/PermGen-space-Java-heap-space-unable-create-new-native-thread在解决java内存溢出问题之前,需要对jvm(java虚拟机)的内存管理有一定的认识。jvm管理的内存大致包括三种不同类型的内存区域:Permanent Generation ...转载 2018-07-13 13:42:58 · 553 阅读 · 0 评论 -
Windows服务器java.exe占用CPU过高问题分析及解决
原文路径:https://blog.youkuaiyun.com/ningzuobei/article/details/48828915最近在测试一个用java语言实现的数据采集接口时发现,接口一旦运行起来,CPU利用率瞬间飙升到85%-95%,一旦停止就恢复到40%以下,这让我不得不面对以前从未关注过的程序性能问题。在硬着头皮查找资料定位错误修正bug的过程中参考了下面两篇文章:windows下...转载 2018-07-20 09:57:29 · 20940 阅读 · 7 评论 -
Java程序导致服务器CPU占用率过高的问题排除过程
原文路径:https://blog.youkuaiyun.com/u013991521/article/details/527814231、故障现象客服同事反馈平台系统运行缓慢,网页卡顿严重,多次重启系统后问题依然存在,使用top命令查看服务器情况,发现CPU占用率过高。2、CPU占用过高问题定位2.1、定位问题进程使用top命令查看资源占用情况,发现pid为14063的进程占用了大量的C...转载 2018-07-20 09:32:59 · 13321 阅读 · 3 评论 -
Tomcat和JVM的内存配置
原文路径:https://www.cnblogs.com/pangxiansheng/p/5378537.htmlJVM内存分配设置的参数有四个-Xmx Java Heap最大值,默认值为物理内存的1/4;-Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;-Xmn Java Heap Young区大小,不熟悉最好保留默认值;...转载 2018-06-12 15:55:10 · 18853 阅读 · 1 评论 -
JVM内存溢出
原文路径:https://blog.youkuaiyun.com/ye1992/article/details/9344807Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识进行详细介绍。一、Java JVM内存介绍JVM管理两种类型的内存,堆和非堆。按照官方...转载 2018-06-12 14:51:01 · 264 阅读 · 0 评论 -
JVM内存Xmx和Xmn设置
原文路径:https://www.dutycode.com/jvm_xmx_xmn_xms_shezhi.html问题:新上线一个java服务,或者是RPC或者是WEB站点, 内存的设置该怎么设置呢?设置成多大比较合适,既不浪费内存,又不影响性能呢?分析:依据的原则是根据Java Performance里面的推荐公式来进行设置。具体来讲:Java整个堆大小设置,Xmx 和 Xms设置为老年代存活对...转载 2018-02-08 16:05:23 · 6631 阅读 · 0 评论 -
CMS回收器
CMS回收器转载 2018-02-08 10:45:53 · 1198 阅读 · 0 评论 -
Java程序运行时数据区域(读书笔记)
本文为阅读《深入理解Java虚拟机》第二章时做的一点笔记,图片为网上筛选的。转载 2017-03-28 22:16:19 · 162 阅读 · 0 评论 -
反射中Class.forName()和ClassLoader.loadClass()的区别
文章转载自:http://www.cnblogs.com/zabulon/p/5826610.html一 Java类装载过程装载:通过累的全限定名获取二进制字节流,将二进制字节流转换成方法区中的运行时数据结构,在内存中生成Java.lang.class对象; 链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的; 校验:检查导入类或接口的二进制转载 2017-05-16 18:34:03 · 1385 阅读 · 1 评论 -
GC工作原理(读书笔记)
一、垃圾收集器GC(Garbage Collection) Java内存运行时,程序计数器、虚拟机栈、本地方法栈这个3个区域生命周期与线程一致,因此这几个区域的内存分配和回收都具备确定性,方法结束或者线程结束时,相关内存就随着回收了。而Java堆和方法区则不一样,一个接口的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存也可能不一样,我们只有在程序处于运行期间时转载 2017-04-09 16:06:50 · 540 阅读 · 0 评论