-
Java Kubernetes 容器中无法执行 jsp jstat 等诊断命令
现象 Java的jps、jstat等诊断命令在Kubernetes的Pod中失效。 jps jps没有任何输出。 bash-4.4$ jps bash-4.4$
2023-12-28, Views: 927 , Topics: Kubernetes 诊断工具 JVM
-
Java 不同垃圾回收器占用的内存大小
需求 Java内存中除了堆内存外,还有堆外内存,如:垃圾回收器就会占用一定的堆外内存。 对于在Kubernetes中部署的服务,如果频繁被OOM,需要关注堆外内
-
Java Native Memory Tracking 追踪 JVM 内存使用情况
开启 NMT -XX:NativeMemoryTracking=off: NMT默认关闭,需在启动时开启。 -XX:NativeMemoryTracking=
-
Java 最大堆内存 500M Kubernetes Pod 最大内存 700M 出现了 OOM
现象 Java服务部署在Kubernetes中,Pod的内存大小设置为700M,Java堆内存设置的-Xmx为500M,线上频频发生OOMKiller被Kube
2023-12-25, Views: 792 , Topics: Kubernetes JVM Java
-
Java 堆内存动态调整
参数 JVM中参数MaxHeapFreeRatio,默认值70,表示空闲的堆内存占最大内存(-Xmx)的比例大于设置的比例(-XX:MaxHeapFreeRat
-
Java 线上服务查看 Direct 及 Mapped 堆外内存
需求 需要查看线上服务占用堆外内存的情况。 困难 jcmd等命令行工具,无法查看堆外内存的情况。 NMT也没有追踪堆外内存。 在Kubernetes中部署,无法
-
Java Arena Area 内存占用过高问题
现象 使用top命令查看到Java内存RSS占用过高,堆内存并没有很大。 排查 使用pmap -x pid查看有很多anon,内存占用。 [root@local
-
Java 进程使用的内存组成
内存组成 VM 内存 Heap堆内存 Young Gen新生代 Old Gen老年代 Perm Gen永久代(JDK <=7) Non Heap 非
-
Java 设置堆内存的最大值和最小值的几种方式
InitialHeapSize 默认值:物理内存的1/64。 举例: -Xms100M MaxHeapSize 默认值:物理内存的1/4。 举例:-Xmx1G、
-
Java 命令行 -XshowSettings 查看 JVM 配置
showSettings 显示JVM的配置。 -XshowSettings:category 显示不同category的配置。 category=vm 显示最大
-
Java 日志中异常信息缺少堆栈信息
现象 生产环境下日志输出的异常只有一行异常名称,没有具体的堆栈信息。 示例 public class OmitStackTraceInFastThrowDemo
-
Java 查看虚拟机日志
默认日志 不配置启动参数,默认是warning级别,输出uptime、level、tags三个标识符。 -Xlog:all=warning:stdout:upt
-
Java 命令行参数浏览器
作用 查看Java不同版本的JVM参数,查看参数是否过期、删除。 不同JVM发布商之前的区别。 VM Options Explorer 链接 https://c
-
Java 命令行参数参考手册
Java 17 https://docs.oracle.com/en/java/javase/17/docs/specs/man/java.html Java
-
Java 查看诊断 JVM 的命令行参数
命令 使用-XX:+UnlockDiagnosticVMOptions解锁诊断JVM的命令行参数,通过-XX:+PrintFlagsFinal参数查看参数。 j
-
Java 查看实验性质的 JVM 命令行参数
命令 使用-XX:+UnlockExperimentalVMOptions解锁实验性质的命令行参数,通过-XX:+PrintFlagsFinal参数查看参数。
-
Java 11 默认垃圾回收器竟然不是 G1
疑惑 Java 9之后JVM的默认垃圾回收器就是G1了,但今天在Kubernetes容器Pod中查看时发现用的竟然是SerialGC。 查看命令行参数 可以看到
-
Java 环境变量 JDK_JAVA_OPTIONS 与 JAVA_TOOL_OPTIONS 差别
JDK_JAVA_OPTIONS JDK_JAVA_OPTIONS环境变量仅作用于java命令启用的程序(java -jar example.jar)。 JAVA_TOOL_OPTIONS JAVA
-
Java 查看容器信息的几种方式
注意 只能在Linux下该命令才有效。 命令 Java 11 及之后版本 方法一 jcmd 1 VM.info 输出:截取了最后一段System系统信息的输出,
-
Java 11 在容器中无法获取正确的 CPU 处理器个数
现象 使用ForkJoinPool时,发现线程个数始终是1。 ForkJoinPool.getCommonPoolParallelism() 使用Managem