“Debian 进程内存泄露”并不是 Debian 系统本身特有的问题,而通常是指运行在 Debian 上的某个进程持续申请内存却不释放,导致内存使用不断增长。下面按常见原因 → 排查方法 → 解决思路来说明。
malloc / new 后没有 free / delete✅ 这是“进程内存泄露”的最直接原因
__del__即使你的代码没问题,库也可能有泄露。
有些情况不是真的泄露,但表现类似:
free 了,但 RSS 不降vm.overcommit)top -p <pid>
# 或
ps -o pid,rss,vsz,comm -p <pid>
观察:
cat /proc/<pid>/status
cat /proc/<pid>/smaps
关注:
RssRssAnonVmSwapvalgrindasansmempmapjmap, jstatpproffree -h
如果 buff/cache 很大,通常不是问题。
# systemd 服务
MemoryMax=512M
Debian 进程内存泄露,90% 是应用或库的问题,不是 Debian 本身的问题。
如果你愿意,可以告诉我:
我可以帮你精确定位原因。