小红花·文摘
  • 首页
  • AI Tokens🪙
  • 排行榜🏆
  • 直播
  • FAQ
那个内存泄漏一直都在,只是旧 GC 悄悄替我兜了三年 - 编程一生

该文讲述了一个Java应用从8升级到11后,因堆外内存泄漏导致容器OOM的问题。根因是JavaCV库未显式释放原生内存,依赖GC兜底,而旧GC高频回收掩盖了泄漏,新G1回收不频繁导致内存累积。作者总结教训:堆外泄漏监控难察觉,隐性兜底可能掩盖问题,native资源应显式释放。

那个内存泄漏一直都在,只是旧 GC 悄悄替我兜了三年 - 编程一生

编程一生 编程一生 · 2026-08-27T08:40:00Z
那个内存泄漏一直都在,只是旧 GC 悄悄替我兜了三年 - 编程一生

一个存在三年的内存泄漏问题,在Java 8升级到11后暴露。原因是JavaCV库的堆外内存未显式释放,旧GC高频回收掩盖了泄漏,新G1 GC不频繁触发清理导致OOM。修复方法是显式调用release()。教训:堆外内存监控盲区,隐性兜底可能掩盖bug,native资源需显式释放。

那个内存泄漏一直都在,只是旧 GC 悄悄替我兜了三年 - 编程一生

编程一生 编程一生 · 2026-08-27T05:07:00Z

RGW是Ceph的S3/Swift对象网关,将HTTP请求映射到RADOS操作。核心机制包括:head/tail对象模型(小对象内联,大对象分条)、bucket index的OMAP存储与动态reshard、multipart上传的manifest引用、版本控制的delete marker、GC异步删除、多站点bi-log同步。主要瓶颈是bucket index的LIST性能与GC积压,S3 Select仅做RGW侧过滤,无法下推OSD。

【Ceph RADOS】RGW:索引池与数据池、S3 到 RADOS 的映射边界

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

This week's Java roundup for August 3rd, 2026, features news highlighting: JEP 535, Shenandoah GC: Generational Mode by Default, targeted for JDK 28; point releases of A2A Java SDK, Apache Camel...

Java News Roundup: Shenandoah GC, TeamCity CVE, A2A Java SDK, Camel, Gradle, GlassFish, Groovy

InfoQ InfoQ · 2026-08-10T12:45:00Z

Wasmtime 47默认启用Wasm GC与异常支持,使高阶语言能自然携带对象模型和异常机制,减少自带运行时负担。Rust社区关注其Cheney风格GC实现,基于线性内存,提升安全与可移植性。Syn 3.0.0发布,升级宏解析基础设施,为非穷举Modifiers预留扩展空间,影响宏工具链。数据库文章探讨append-only引擎用mmap管理只读段,依赖内核页缓存,区分文件映射与匿名内存回收成本。

【Rust日报】2026-07-22 Wasmtime 47 默认启用 Wasm GC 与异常支持

Rust.cc Rust.cc · 2026-07-22T01:07:03Z

TiKV 通过 Raft Snapshot 解决副本落后问题,允许副本直接从 Leader 同步,避免日志重放开销。日志 GC 定期清理不再需要的日志,确保副本正常追赶。TiKV 支持 Voter、Learner 和 Witness 三种副本形态,以提高系统容错能力和存储效率。

【TiKV / HTAP 内核】Snapshot、log GC 与副本迁移

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-16T00:00:00Z

Git 的垃圾回收(git gc)用于整理仓库,主要功能包括重打包松散对象、删除过期的 reflog 和不可达对象。手动执行 gc 适用于松散对象增多或磁盘紧张的情况,执行后仓库体积可能减小,并更新对象信息。建议在低峰期进行,以减少对 CPU 和 IO 的占用。

【Git 内部】gc、repack 与 prune

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-05T00:00:00Z
D 语言服务 P99 延迟降低 73%:火焰图定位保守式 GC 与 O(n) 查询的耦合

一项基于D语言的订单服务在高峰期出现P99响应时间抖动,使用OpenResty XRay进行动态追踪分析,发现GC占比高达26.4%,主要性能热点在getUserOrders函数,导致CPU占比59.4%。通过优化数据结构和减少GC工作量,P99响应时间从350ms降至95ms,强调了动态监控的重要性。

D 语言服务 P99 延迟降低 73%:火焰图定位保守式 GC 与 O(n) 查询的耦合

OpenResty 官方博客 OpenResty 官方博客 · 2026-03-17T00:00:00Z
ConcurrentNativeQueue<T>:一个使用 .NET 实现的零 GC 压力的无锁 MPSC 原生队列

ConcurrentNativeQueue<T> 是一种无锁并发队列,专为高性能场景设计,适用于游戏引擎、音频处理和高频交易等。它采用 MPSC 模型,减少 GC 压力,提供低延迟和高吞吐量,适合对 GC 停顿敏感的应用。与 ConcurrentQueue<T> 相比,ConcurrentNativeQueue<T> 牺牲了多消费者支持,需手动管理内存。

ConcurrentNativeQueue<T>:一个使用 .NET 实现的零 GC 压力的无锁 MPSC 原生队列

dotNET跨平台 dotNET跨平台 · 2026-03-12T23:58:00Z
ConcurrentNativeQueue<T>:一个使用 .NET 实现的零 GC 压力的无锁 MPSC 原生队列

ConcurrentNativeQueue<T> 是一种无锁并发队列,专为高性能场景设计,如游戏引擎、音频处理和高频交易。它采用 MPSC 模型,避免 GC 停顿,提供高吞吐量和低延迟。与 ConcurrentQueue<T> 相比,ConcurrentNativeQueue<T> 牺牲了多消费者支持,需要手动管理内存,但在特定场景下性能显著提升。

ConcurrentNativeQueue<T>:一个使用 .NET 实现的零 GC 压力的无锁 MPSC 原生队列

dotNET跨平台 dotNET跨平台 · 2026-03-12T23:58:00Z
ConcurrentNativeQueue<T>:一个使用 .NET 实现的零 GC 压力的无锁 MPSC 原生队列

ConcurrentNativeQueue<T> 是一种无锁并发队列,专为高性能场景设计,适用于游戏引擎、音频处理和高频交易。它采用 MPSC 模型,实现零 GC 压力和快速出队,避免多消费者竞争的复杂性。与 ConcurrentQueue<T> 相比,ConcurrentNativeQueue<T> 提供更高的吞吐量和更低的延迟,但仅支持 unmanaged 类型,需手动管理内存。

ConcurrentNativeQueue<T>:一个使用 .NET 实现的零 GC 压力的无锁 MPSC 原生队列

dotNET跨平台 dotNET跨平台 · 2026-03-12T23:58:00Z
ConcurrentNativeQueue<T>:一个使用 .NET 实现的零 GC 压力的无锁 MPSC 原生队列

ConcurrentNativeQueue<T> 是一种无锁并发队列,专为高性能场景设计,适用于游戏引擎、音频处理和高频交易等。它采用 MPSC 模型,实现零 GC 压力和快速出队,避免传统队列的性能瓶颈。与 ConcurrentQueue<T> 相比,ConcurrentNativeQueue<T> 更适合对 GC 停顿敏感的应用,但仅支持非托管类型,需手动管理内存。

ConcurrentNativeQueue<T>:一个使用 .NET 实现的零 GC 压力的无锁 MPSC 原生队列

dotNET跨平台 dotNET跨平台 · 2026-03-12T23:58:00Z
老板花重金买了台 128 核服务器,我的 Go 程序反而变慢了?

在超多核时代,Go语言的并发模型受到NUMA架构和GC的性能瓶颈影响,尽管核心数增加,程序吞吐量未线性增长。Go团队计划通过优化调度和内存分配来提升性能。

老板花重金买了台 128 核服务器,我的 Go 程序反而变慢了?

Tony Bai Tony Bai · 2026-03-11T16:00:00Z

Go 1.26 版本预计于2026年初发布,重点提升开发者体验和性能。新特性包括内置函数 new()、改进的垃圾回收器“Green Tea”、Cgo 调用加速30%以及Goroutine 泄露分析工具。标准库也进行了现代化改造,增强了安全性和性能,旨在优化开发效率和系统性能。

Go 1.26 新特性前瞻:从 Green Tea GC 到语法糖 new(expr),性能与体验的双重进化

Tony Bai Tony Bai · 2025-12-15T16:00:00Z

最近忙于处理 Harbor 镜像存储服务,面对大量 Docker 镜像和复杂的删除流程。通过改进 GC 逻辑,使用 Python 脚本实现自动化,删除效率提升至3天,解决了人工操作的繁琐问题。

Harbor GC 问题

卡瓦邦噶! 卡瓦邦噶! · 2025-12-06T08:01:16Z
现代 GC 技术前沿:低延迟与智能化

随着服务器内存的增加,传统垃圾收集器面临挑战。现代垃圾收集器(如ZGC)采用染色指针和读屏障等技术,将停顿时间控制在10毫秒以内,并引入人工智能进行自动调优,以提升性能和降低运维成本。

现代 GC 技术前沿:低延迟与智能化

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2025-11-30T00:00:00Z

不同编程语言的内存管理各具特色。Java通过分代和标记整理实现高吞吐量,Go追求低延迟,采用并发标记清除。Python使用引用计数,实时性强但不支持并发。Rust通过所有权和借用规则确保内存安全,无运行时开销。

GC 横向对比:Java vs Go vs Python vs Rust

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2025-11-30T00:00:00Z
Go 语言垃圾回收 (GC) 深度解析

Go语言的垃圾回收设计注重低延迟,采用并发三色标记法和混合写屏障以减少停顿时间。Go 1.25引入Green Tea GC,通过页级处理和向量化指令优化性能,提升内存访问效率,降低CPU开销。

Go 语言垃圾回收 (GC) 深度解析

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2025-11-30T00:00:00Z
使用 Span 优化文本处理

本文介绍了通过使用Span优化字符串处理性能的案例。原始代码在字符循环中频繁创建新字符串,导致性能瓶颈。优化后,使用AsSpan()和Contains(char)减少了内存分配,显著提升了性能。测试结果显示新方法在内存分配和GC方面表现更佳。

使用 Span 优化文本处理

dotNET跨平台 dotNET跨平台 · 2025-11-07T23:57:26Z
记一次 .NET 某药品缺陷高速检测系统 卡慢分析

一位朋友的程序在内存超过2GB时变慢,导致超时报警。分析发现频繁的诱导GC是性能问题的根源,建议通过对象池化减少临时对象创建,以提升性能。

记一次 .NET 某药品缺陷高速检测系统 卡慢分析

dotNET跨平台 dotNET跨平台 · 2025-10-23T00:02:28Z
  • <<
  • <
  • 1 (current)
  • 2
  • 3
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码