Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
issue
issue
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 23
    • Issues 23
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar

新注册的用户请输入邮箱并保存,随后登录邮箱激活账号。后续可直接使用邮箱登录!

  • chainmaker
  • issueissue
  • Issues
  • #1323

Closed
Open
Opened Feb 25, 2025 by love_life@love_life1 of 19 tasks completed1/19 tasks

长安链内存占用随时间不断增高导致OOM问题

【问题分类】

  • bug
  • P2P网络相关(包含libp2p,liquid)
  • 链账户身份与权限相关(证书问题、public、多签投票问题)
  • 核心交易引擎相关(交易池、DAG)
  • 共识相关
  • 智能合约相关
  • 存储相关
  • SDK相关
  • 长安链CMC工具
  • 长安链管理台
  • 长安链浏览器
  • 长安链合约IDE
  • 长安链web签名插件
  • 跨链相关
  • 轻节点相关
  • 隐私计算相关
  • 密码学相关
  • 环境依赖
  • 其他补充:

【问题描述】(请对问题进行描述,方便定位问题)

长安链是使用管理台的方式创建的,智能合约是C++编写的

版本是2.3.5

长安链linux中以进程的方式运行

运行一段时间后某一天不可用了,检查发现是因为被OOM

之后经过持续观察,发现内存占用随时间变高,和调用合约次数无关

使用go pprof进行内存分析

重启区块链进程后过了一个晚上,/debug/pprof/heap

top如下:

flat flat% sum% cum cum%
1983.88MB 88.35% 88.35% 1983.88MB 88.35% chainmaker.org/chainmaker-go/module/snapshot.newShard (inline)

发现这个随着时间不断增大,最终占满内存

因为是在公司测试环境,没法提供截图和pprof源文件

2025.3.1 更新:

image

在本地自己虚拟机上复现了一下这个情况,就是说chainmaker.org/chainmaker-go/module/snapshot.newShard (inline)这个持续不断增大,最后吃满整个内存。

我使用的是MAXBFT共识协议,我个人觉得有可能是因为这个的原因。

最后,把本地的pprof和区块链部署文件上传了。

具体的现象,操作步骤,前置条件等,尽可能描述清楚,有截图说明更佳

【相关日志文件】(如果有报错日志请贴图,或者上传附件)

chainmaker-go 的 log/system.log & bin/panic.log file *

SDK 的 sdk.log file

【系统信息】(请填写系统信息,方便定位问题)

  • chainmaker-go version * : [v2.3.5]
  • OS & version * :
  • docker镜像 version:
  • 管理台 version:
    • 如果是管理台的相关问题,请附带管理台版本,如果不是可忽略。
  • 区块浏览器 version:
    • 如果是浏览器的相关问题,请附带浏览器版本,如果不是可忽略。
  • 合约IDE version:
    • 如果是合约IDE的相关问题,请附带合约IDE版本,如果不是可忽略。
  • web签名插件 version:
    • 如果是web签名插件的相关问题,请附带web签名插件版本,如果不是可忽略。pprof.ziptest.zip
Edited Mar 01, 2025 by love_life
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: chainmaker/issue#1323

Copyright © 2021 ChainMaker Org. All Rights Reserved. 长安链 版权所有。