event_linux consumes significant system resources when a large number of nodes and groups are present.

Open
#2,566 3 comments 0 reactions 1 assignee View on GitHub

@fengzeroz is already working on this.

Since Sep 15, 2025.

Assessment

This issue has not been assessed yet.

Description

  1. The current event_linux implementation requires each business node to call neu_event_new separately to create an epoll instance. If the system has dozens or hundreds of nodes, there will be a large number of epoll file descriptors (fd) in the system, which will obviously consume a lot of system resources.
  2. Currently, at least 3 timerfds are created for each group of every business node. If the system has dozens of nodes and hundreds of groups, hundreds of timerfds will appear. This, firstly, consumes the process's file descriptor resources, and secondly, the frequent kernel/user-mode switching of timerfds is quite CPU-intensive.

This issue was automatically translated from Chinese.

Dominant language
C
Stars
1.4k
Forks
312
Avg merge
1d 2h
Merged PRs (30d)
10

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from emqx/neuron

All issues in emqx/neuron

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.