内存(memory),又叫主存,是cpu与其他设备沟通的桥梁,主要用来临时存放数据,配合cpu工作,协调cpu的处理速度
树形结构
堆内存:
参数 | 含义 |
---|---|
-Xms | 初始堆大小 |
-Xmx | 最大堆空间 |
-Xmn | 设置新生代大小 |
-XX:SurivivorRatio | 新生代eden空间,from空间,to空间的比例关系(8:1:1) |
-XX:PermSize | 方法区初始大小 |
-XX:MaxPermSize | 方法区最大值 |
-XX:metaspaceSize | 元空间GC阈值 |
-XX:MaxMetaspaceSize | 最大元空间大小 |
-Xss | 栈大小 |
-XX:MaxDirectMemorySize | 直接内存大小,默认为最大堆空间 |
Mem:物理内存
swap:交换分区
VIRT:虚拟内存使用量 VIRT=SWAP+RES
RES:物理内存使用量+未换出的虚拟内存大小 RES=CODE+DATA
SHR:共享内存的使用量
SWAP:虚拟内存中被换出的大小
CODE:代码占用的物理内存大小
DATA:代码之外的部分占用的物理内存大小
%MEM:使用的物理内存占总内存的比率
jmap [options] pid
-dump
:生成java堆栈的快照信息-heap
:显示java堆详细信息,使用哪种回收机制,参数配置,分代情况 -histo
:显示堆中对象统计信息,包括类,实例数量jmap -F -dump:live,format=b,file=xxx .bin pid
看请求的响应信息, 一般的情况下,出现内存溢出问题,在响应信息中都会有所体现nested exception is java.lang.OutOfMemoryError: Java heap space
有些项目,在log日志中,会有体现(不一定有)
我们看系统的内存
ps -ef |grep java
jps
jmap -dump:live,format=b,file=heap_xxxtest_20210811002.hprof 2419
curl -O .jar
java -jar arthas-boot.jar
java -jar arthas-boot.jar --help
-XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCtimestamps -XX:+PrintGCApplicationStopedTime
(包含IO操作,所以生产环境一般不添加,测试环境也只有定位问题才开启,否则损耗性能)jconsole.sh pid
jstat -gcutil pid 10000
间隔1w毫秒显示一次gc信息总结一下:
cpu相关问题,应用服务器中高频率出现
内存: 工作中经常遇到,比较难
网络:见的多,但是不是最难,只是因为大家网络知识跟不上
磁盘问题: 相对来说问题是最少, 一般集中在文件服务器数据服务器
本文发布于:2024-02-04 13:18:48,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170708170355927.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |