搜索结果: "java"

共找到 34 个页面

K8s 下 Java 内存调优完整指南 — 预算模型、生产配置与治理体系

标题匹配

title: K8s 下 Java 内存调优完整指南 — 预算模型、生产配置与治理体系

tags: [kubernetes, java, jvm, memory, performance, troubleshooting, architecture]

sources: [raw/articles/容器里的-JVM-不只是--Xmx-Kubernetes-下-Java-内存调优的原理-架构与生产实战.md]

# K8s 下 Java 内存调优完整指南

**Heap(堆):** 承载绝大多数 Java 对象。影响因素:请求并发、对象生命周期、缓存大小、批量任务。JVM 监控最关注的部分,但**远非全部**。

Java 应用 CPU 100% 排查实战 — 从告警到代码行的四步法

标题匹配

title: Java 应用 CPU 100% 排查实战 — 从告警到代码行的四步法

tags: [linux, java, performance, troubleshooting, case-study, jvm]

# Java 应用 CPU 100% 排查实战

## 一、排查四步法(Java 特化版)

关注 `%CPU` 列。多个 Java 节点同时飙高 → 可能是流量/代码问题;单节点飙高 → 单机热点。

Docker 镜像优化完全指南:瘦身、构建加速与安全加固

**Java 应用 — Maven 多阶段构建:**

ENTRYPOINT ["java", "-XX:MaxRAMPercentage=75.0", "-jar", "app.jar"]

# ❌ shell形式:sh 是 PID 1,java 是子进程,收不到 SIGTERM

ENTRYPOINT java -jar app.jar

# ✅ exec形式:java 是 PID 1,能正确接收信号

Docker 生产环境踩坑指南 — 10 + 5 个常见问题

**Java 应用注意事项:**

docker run -e JAVA_OPTS="-Xmx768m" --memory=1g my-java-app

**原理:** 容器内的 PID 1 进程对信号处理有特殊要求。如果 PID 1 是 shell 脚本(如 `CMD ["/bin/sh", "-c", "java -jar app.jar"]`),shell 不转发 SIGTERM。

CMD ["java", "-jar", "app.jar"]

| [[pod-troubleshooting]] | Pod CrashLoopBackOff 排障(含 Java OOM/Exit Code 分析) |

JVM 容器 OOM 排障指南 — 堆外内存视角

tags: [kubernetes, java, troubleshooting, memory, container, performance]

Java 服务在容器中频繁 OOMKilled,但 JVM 堆内存利用率仅 70% 左右、看似充裕,这是最常见的「容器 OOM 但堆没问题」故障模型。

**释放机制陷阱:** DirectByteBuffer 的物理内存释放依赖于对应 Java 对象被 GC 回收时触发 `Cleaner` 去执行 `free`。隐含两个前提:

Java 8u40+ / Java 9+ 内置,最核心的堆外内存诊断工具:

# 推荐的 Java 容器启动参数(Java 10+)

Linux 服务器 CPU 飙高排查 — 完整方法论 + 应急响应实战

| **Java** | top + jstack | `top -H -p ` → `printf '0x%x\\n' ` → `jstack \| grep -A 20 ` |

### 案例 1:Java 线程死循环打满单核

```java

| [[online-troubleshooting-checklist]] | 四维排查速查清单(CPU/磁盘/内存/网络 + Java 工具 jstack/jmap/jstat/tcpdump) |

- [[java-cpu-100-case-study]] — Java 应用 CPU 100% 排查实战(四步法 + 四大原因 + 真实案例)

Linux 系统调优实战 — 接口响应从 500ms 降到 100ms 全复盘

> 日均千万级请求的 Java 微服务,P99 响应 500ms+。通过两周 Linux 系统级深度调优,降至 100ms 以内。本文完整复盘从发现问题到解决问题的全流程。

| 应用 | Java Spring Boot 微服务,Docker 容器部署 |

**问题:** CPU 上下文切换过于频繁,每秒超过 10 万次。Java 线程数过多导致大量调度开销。

ps -eLf | grep java | wc -l # Java 线程数

- Java `-XX:ParallelGCThreads=4` 限制 GC 线程

服务器性能五维排查 — CPU/内存/磁盘/网络/文件系统深度解析

**Java 特殊注意:** JVM 内存 ≠ -Xmx。包含堆 + 元空间 + 直接内存 + Native。用 `jcmd VM.native_memory`。

- Java:合理设置 `-Xmx` / `-Xms`,避免 JVM 吃光内存

输出中可见一个 java 进程(PID: 12345),%CPU 稳定在 300%+,%MEM 偏高 → 目标进程。

一套操作下来刚好 60 秒,已找到可疑进程(PID 12345),排除了磁盘、网络、内存问题。后续用 `jstack`、`strace` 分析 Java 进程即可定位具体死循环或内存泄漏。

| [[k8s-java-memory-tuning-production-guide]] | Kubernetes 下 Java 内存调优完整指南 — 内存预算模型、生产参数配置、四层诊断流程、 |

Wiki Log

- Merged into: pod-troubleshooting(Exit Code 143/Java OOM/command override/三探针配合/8 步排查法)

- 文章为多主题排查清单(CPU/磁盘/内存/GC/网络 + Java 工具),与现有深度页面高度交叉

- Created concept: concepts/linux/java-cpu-100-case-study.md

- Java 应用 CPU 100% 排查四步法(top → top -Hp → jstack → grep)

## [2026-05-19] update | SCHEMA.md — 注册 java/jvm 标签

K8s 容量规划、Pod QoS 与成本优化实战指南

tags: [kubernetes, architecture, performance, monitoring, java, golang, messaging, tcp]

### Java 容器

JAVA_TOOL_OPTIONS="-XX:MaxRAMPercentage=70 -XX:InitialRAMPercentage=70 ..."

- [[k8s-java-memory-tuning-production-guide]] — Kubernetes 下 Java 内存调优完整指南 — 内存预算模型、生产参数配置、四层诊断流程、

K8s 资源限制配置指南 — Request / Limit / QoS / CPU Throttling

### Java 应用(Spring Boot / Tomcat)

Java 启动时需较多内存,稳定运行时相对稳定,但峰值可能更高。

- name: JAVA_OPTS

- [[k8s-java-memory-tuning-production-guide]] — Kubernetes 下 Java 内存调优完整指南 — 内存预算模型、生产参数配置、四层诊断流程、

注册中心选型 — Nacos / Zookeeper / Consul 深度对比

- Java 微服务生态心智占比不如 Nacos

> **结论:** 绝大多数国内 Java 微服务团队的首选。

| Java 微服务生态 | **很强** | 强但偏传统 | 中等 |

接口限流 5 种算法详解:计数器 / 滑动窗口 / 令牌桶 / 漏桶 / Redis+Lua

tags: [performance, architecture, microservices, java]

```java

```java

Linux 内存管理深潜 — Buffer/Cache/Page Cache/Slab/回收/OOM 全链路

### Java/Go 应用专用

# Java:查看 JVM 内存(堆+元空间+Native)

- [[online-troubleshooting-checklist]] — 四维排查速查清单(CPU/磁盘/内存/网络 + Java 工具 jstack/jmap/jstat/tcpdump)

服务器负载过高排查 — 案例实战 / Netflix 60 秒法 / 常见根因

├─ iotop: Java 进程 320MB/s 写入,IO> 95.2%

├─ pidstat: Java PID=3456, 320MB/s

Java 进程仍在写入旧文件 app.log.1

线上故障排查清单 — CPU/磁盘/内存/GC/网络 四维速查

# 查看该线程的 Java 堆栈(-C5 显示上下文 5 行)

# Java 堆内存使用

Jenkins 多 Master 架构部署方案 — K8S + Gateway API

- name: JAVA_OPTS

| 中量级 | 1 | 1Gi | 2 | 2Gi | Java 编译、后端打包 |

Pod 排障 — CrashLoopBackOff / Exit Code 排查 / OOM / 探针 / 依赖服务 / ConfigMap

- **OOMKilled:** 增大 memory limits 或优化应用内存(Java 容器注意:`-Xmx` 设置 + 元空间/线程栈/直接内存等额外开销总和 < container limits)

- **健康检查:** 增大 `initialDelaySeconds`(Java/Go 建议 ≥30s);启动慢的服务务必加 **startupProbe** 避免 livenessProbe 误杀

Linux 磁盘空间排查 — 8 个命令 / 四种场景 / 生产清理流程

# java 3456 root 23w REG 202,1 2147483648 12345 /var/log/app/access.log (deleted)

kill -USR1 # Java/log4j

Linux Load Average 完全解读 — 内核原理 / 排查方法论 / 容器环境实战

**深入工具:** `perf top -p ` 或 `perf record -g` 生成火焰图。Java → async-profiler,Go → pprof。

同时失真的还有 `/proc/cpuinfo`(显示宿主机全部核数)和 `/proc/stat`(宿主机的 CPU 统计)。Java/Node.js 等运行时如果用 Load Average 做自适应调优,在容器内全部失效。

TCP 连接数爆表:攻击还是 Bug 排查指南

快速定位到 Nginx、MySQL 或 Java 应用等具体进程。

- **CLOSE_WAIT 泄漏**:Java 应用发布后 CLOSE_WAIT 缓慢上升至爆表 → 异常处理中未关闭 MySQL 连接 → 修复代码后重启

Nginx 502/504/Connection Reset 深度排查指南

cat /proc/$(pidof java)/limits | grep "open files"

lsof -p $(pidof java) | wc -l

Nginx 典型配置错误复盘 — 20+ 个踩坑点详解

gzip_types text/plain text/css text/javascript

application/json application/javascript

Wiki Index

- [[java-cpu-100-case-study]] — Java 应用 CPU 100% 排查实战(四步法 + 四大原因 + 真实案例)

- [[k8s-java-memory-tuning-production-guide]] — Kubernetes 下 Java 内存调优完整指南 — 内存预算模型、生产参数配置、四层诊断流程、GC 选型、发布策略

Wiki Schema

- java: Java 应用层排障

Redis 连接管理与熔断治理 — 连接数打满 / 僵尸连接 / 雪崩防护

```java

Jenkins + Ansible 集成实战 — CI/CD 配置管理流水线

├── roles/ # common/, nginx/, java/

服务器网络排障方法论 — 分层定位七步法

- [[online-troubleshooting-checklist]] — 四维排查速查清单(CPU/磁盘/内存/网络 + Java 工具 jstack/jmap/jstat/tcpdump)

资源配额 / OOMKilled / RBAC / 调度排障

- Java: JVM `-Xmx` 设为容器 limit 的 75-80%

存储排障 — PVC Pending / 挂载失败

- 建议 limits.memory 设为 requests.memory 的 1.5-2 倍(MySQL/Java 等)

CPU 飙高三命令排查法 — top → strace → /proc/PID/fd/ 实战

- [[java-cpu-100-case-study]] — Java 应用 CPU 100% 排查案例(jstack + HashMap 死链 + Full GC)

生产级 Linux 磁盘 IO 调优 — 从核心概念到实战落地

- [[online-troubleshooting-checklist]] — 四维排查速查清单(CPU/磁盘/内存/网络 + Java 工具 jstack/jmap/jstat/tcpdump)

Linux 服务器性能排查实战手册 — 三板斧/案例/阈值/参数速查

### CASE 01:Java Full GC 导致接口飙升至 8s

生产级 Nginx 性能优化 — 从内核到 K8s 全链路

gzip_types text/plain text/css text/javascript ...