Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rdma分支存在内存泄漏问题 #1945

Closed
bystorm opened this issue Oct 8, 2022 · 13 comments
Closed

rdma分支存在内存泄漏问题 #1945

bystorm opened this issue Oct 8, 2022 · 13 comments

Comments

@bystorm
Copy link

bystorm commented Oct 8, 2022

Describe the bug (描述bug)
大压力跑内存一直增加
To Reproduce (复现方法)

使用response/request attachement方式传递数据。
Expected behavior (期望行为)

内存不增长
Versions (各种版本)
OS: centos7
Compiler:g+o8
brpc: rdma分支
protobuf:

Additional context/screenshots (更多上下文/截图)
106974.1 100.0% 100.0% 106974.1 100
0.0 0.0% 100.0% 1.5 0.0% brpc::PProfService::symbol
0.0 0.0% 100.0% 76.8 0.1% brpc::ProcessInputMessage
0.0 0.0% 100.0% 0.5 0.0% brpc::ProtobufsService::Init
0.0 0.0% 100.0% 0.5 0.0% brpc::ProtobufsService::ProtobufsService
0.0 0.0% 100.0% 2.0 0.0% brpc::QueueMessage
0.0 0.0% 100.0% 0.5 0.0% brpc::Server::AddBuiltinServices
0.0 0.0% 100.0% 1086.3 1.0% brpc::Server::Start
0.0 0.0% 100.0% 1086.3 1.0% brpc::Server::StartInternal
0.0 0.0% 100.0% 3.7 0.0% brpc::Socket::Create
0.0 0.0% 100.0% 2.4 0.0% brpc::Socket::DoRead
0.0 0.0% 100.0% 27024.6 25.3% brpc::Socket::DoWrite
0.0 0.0% 100.0% 27024.6 25.3% brpc::Socket::KeepWrite
0.0 0.0% 100.0% 8.7 0.0% brpc::Socket::ProcessEvent
0.0 0.0% 100.0% 75762.8 70.8% brpc::Socket::StartWrite
0.0 0.0% 100.0% 75764.6 70.8% brpc::Socket::Write
0.0 0.0% 100.0% 1.6 0.0% brpc::SocketMap::Insert
0.0 0.0% 100.0% 0.5 0.0% brpc::StringToProtocolType
0.0 0.0% 100.0% 2.2 0.0% brpc::internal::FunctionClosure3
0.0 0.0% 100.0% 75763.8 70.8% brpc::internal::FunctionClosure7
0.0 0.0% 100.0% 0.5 0.0% brpc::policy::ParseRpcMessage
0.0 0.0% 100.0% 1.5 0.0% brpc::policy::ProcessHttpRequest
0.0 0.0% 100.0% 73.1 0.1% brpc::policy::ProcessRpcRequest
0.0 0.0% 100.0% 2.2 0.0% brpc::policy::ProcessRpcResponse
0.0 0.0% 100.0% 75763.8 70.8% brpc::policy::SendRpcResponse
0.0 0.0% 100.0% 1.5 0.0% brpc::pprof::CallMethod
0.0 0.0% 100.0% 1024.8 1.0% brpc::rdma::ExtendBlockPool
0.0 0.0% 100.0% 32.0 0.0% brpc::rdma::GlobalCQInit
0.0 0.0% 100.0% 1082.6 1.0% brpc::rdma::GlobalRdmaInitializeOrDie
0.0 0.0% 100.0% 1082.6 1.0% brpc::rdma::GlobalRdmaInitializeOrDieImpl
0.0 0.0% 100.0% 1024.8 1.0% brpc::rdma::InitBlockPool
0.0

@bystorm bystorm changed the title Edna rdma Oct 8, 2022
@bystorm bystorm changed the title rdma rdma分支存在内存泄漏问题 Oct 8, 2022
@bystorm
Copy link
Author

bystorm commented Oct 8, 2022

感觉是CutFromIOBufferList泄漏的

@wwbmmm
Copy link
Contributor

wwbmmm commented Oct 14, 2022

请问使用的rdma分支是 https://github.com/apache/incubator-brpc/tree/rdma
还是 #1836

@bystorm
Copy link
Author

bystorm commented Oct 26, 2022

请问使用的rdma分支是 https://github.com/apache/incubator-brpc/tree/rdma
还是 #1836

rdma 分支,目前看似乎是由于 rdma发送消息后,没有回调。不排除是驱动问题还是系统问题。从逻辑上看brpc实现似乎是没问题的。
你们有遇到过网卡驱动问题吗

@HehuaTang
Copy link

用的什么工具测试的rdma 分享一下 谢谢

@wwbmmm
Copy link
Contributor

wwbmmm commented Oct 26, 2022

rdma 分支,目前看似乎是由于 rdma发送消息后,没有回调。不排除是驱动问题还是系统问题。从逻辑上看brpc实现似乎是没问题的。 你们有遇到过网卡驱动问题吗

rdma分支已不再维护,目前rdma功能已合入master,请使用master分支

@bystorm
Copy link
Author

bystorm commented Oct 28, 2022

不是工具,就是项目中使用brpc。

@bystorm
Copy link
Author

bystorm commented Oct 28, 2022

新版的支持polling 和bind cpu吗

@wwbmmm
Copy link
Contributor

wwbmmm commented Oct 28, 2022

新版的支持polling 和bind cpu吗

不支持

@bystorm
Copy link
Author

bystorm commented Oct 28, 2022

我们当时测试,4k数据非polling模式延时27us polling模式只有12us。有没有计划支持polling模式。

@Tuvie
Copy link
Contributor

Tuvie commented Oct 28, 2022

具体是什么类型的polling需求呢?polling也有些副作用。我还在考虑应该怎么去实现更好

@bystorm
Copy link
Author

bystorm commented Nov 1, 2022

具体是什么类型的polling需求呢?polling也有些副作用。我还在考虑应该怎么去实现更好

现在有一种场景一般都是基于spdk 架构的追求极致时延与极致吞吐的存储产品。最终目标希望所有流程都在一个线程完成,发起和收割都在一个线程完成是最好的。

@Tuvie
Copy link
Contributor

Tuvie commented Nov 3, 2022

现在有一种场景一般都是基于spdk 架构的追求极致时延与极致吞吐的存储产品。最终目标希望所有流程都在一个线程完成,发起和收割都在一个线程完成是最好的。

spdk的逻辑本身在spdk thread里面,和brpc的bthread融合方面需要一个更好的设计。我猜这个场景是更希望bypass bthread么

@wwbmmm
Copy link
Contributor

wwbmmm commented Nov 23, 2022

rdma分支已不再维护,请使用master分支
这个先close了,如果master有问题,可以再提issue

@wwbmmm wwbmmm closed this as completed Nov 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants