目录
- 1 项目上线遇到的问题
- 2 jvm的运行参数
- 2.1 标准参数
- 2.1.1 -D<名称>=<值>
- 2.1.2 -server 和 -client
- 2.2 -X 参数(非标准参数)
- 2.2.1 -Xint
- 2.2.2 -Xcomp
- 2.2.3 -Xmixed
- 2.2.4 -Xms 设置堆内存初始化大小
- 2.2.5 -Xmx 设置堆内存最大大小
- 2.3 -XX 参数(使用效率高)
- 2.3.1 boolean类型
- 2.3.2 非Boolean类型
- 2.4 查看jvm的运行参数
- 2.5 jsp命令
- 2.6 jinfo 命令
- 3 jvm 的内存模型
- 3.1 jatat 命令
- 4 内存溢出的定位与分析
- 4.1 分析
- 4.2 代码演示内存溢出
- 5 项目卡住不动的情况
- 6 jvisualvm 的使用(包含之前所有命令的功能)
1 运行的项目卡住了,项目里面的日志没有输出,程序没有反应
2 服务器的cpu 负载突然升高;
3 只有在上线的情况,才会有多线程的情况,本地即使压测,也没有什么用处,所以多线程,一定要上线的情况进行压测;
jvm有3种参数类型
2.1.1 -D<名称>=<值>
这个参数就是我们的项目里面设置了一个变量属性,之后再启动项目的时候使用这个进行给变量属性赋值;
在哪里给这个name变量设置值?我们在里面可以设置
2.1.2 -server 和 -client
通过这两个参数设置运行模式
-server
根据这个设置的是,初始化的时候,堆空间的内存大一些,启动项目的时候慢,但是之后因为内存大,所以运行快,默认使用的是并行垃圾回收器
2.2.1 -Xint
2.2.2 -Xcomp
2.2.3 -Xmixed
2.2.4 -Xms 设置堆内存初始化大小
2.2.5 -Xmx 设置堆内存最大大小
2.3.1 boolean类型
2.3.2 非Boolean类型
我们启动一个项目,需要在控制台输出所有的jvm的运行参数
jps是jdk提供的一个查看当前java进程的小工具;
jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。参考格式如下:
还有一个远程,就是服务器上面有一个软件,比如Tomcat软件,我们想要监控这个Tomcat的jvm的使用情况,那么就可以使用他远程连接,前提是在Tomcat的配置文件里面,需要加一个配置
到此这篇jvm内存模型 知乎(jvm内存模型及调优)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/78379.html