To create new wiki account, please join us on #znc at Libera.Chat and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.

ZNC Memory Usage

From ZNC
Revision as of 16:06, 19 August 2019 by MetaNova (talk | contribs) (fixed a typo)
Jump to navigation Jump to search

This page is intended to give users an idea and rough estimate of how much memory ZNC needs to run. Other users are asked to provide anecdotal reports which include memory usage as well as other relevant information.

Various factors can affect ZNC memory usage, including:

  • Number of channels (across all users on a ZNC instance)
  • Average saved buffer size of each channel
  • Whether the AutoClearChanBuffer setting is used. Note that when it's enabled, the configured buffer size can be confusing, because the real buffer size is often zero.
  • Query Buffers (if ZNC 1.5 or later)
  • Loaded modules (number, type, and function)
  • Number of users
  • System architecture (x86, x86-64, etc.)

Note: These are anecdotal reports, which are personal experiences of other ZNC users/administrators. These reports are not in any way verified, nor are any of them the least bit scientific. If exact resource usage figures are important, performing your own testing is highly recommended. As always, YMMV.

The following list doesn't include a list of modules used in each case for the sake of brevity. However, module use could have a meaningful effect on memory usage.

There are multiple ways of determining memory usage, but here is the method used for more than half of the entries listed:

$ ps aux --sort -rss | grep znc | awk '{print $1" "$2" "$6}' | column -t

Example output:

zero-one  903    32144
darthga+  18346  5848
zero-one  15469  4652
mindy     1467   1652
hammy     1478   1560

This is the username who owns the process, followed by the PID, and the resident memory usage in kiloBytes.


ZNC Version Memory Usage Number of channels Number of networks Average Buffer Size AutoClearChanBuffer Number of Users System Arch
1.4 60.9 MB About 260 About 2,000 Yes, mostly 9 x86-64 (Debian 7.7)
1.4 27.8 MB About 100 About 100 Yes, mostly 8 x86-64 (Debian 7.7)
1.5 12.1 MB About 20 4 About 850,000 Yes 1 x86-64 (Slackware 14.1)
1.5 7.3 MB About 30 2 About 4,290,032,704 Yes 4 x86-64 (Ubuntu 13.10)
1.6.5 160 MB About 100 5 50 Yes 1 x86-64 (Debian 8)
1.6.5 57 MB About 100 2 50 Yes 2 x86-64 (Debian 8)
1.7.x-git* 324.75 MB Over 200 About 50 - 100 Yes 57 x86-64 (Ubuntu 17.04)
1.7.x-git 50.2 MB 53 2 About 1,000,000 Yes 2 x86-64 (Ubuntu 14.04.5 LTS)
1.7.x-git [ZNC-Linker bot] 7.9 MB 2 1 About 50 Yes 1 x86-64 (Ubuntu 14.04.5 LTS)
1.7.x-git 4.7 MB 9 1 About 500 Yes 1 x86-64 (Ubuntu 14.04.5 LTS)
1.7.x-git 10.3 MB 10 1 About 50 Yes 1 x86-64 (Ubuntu 16.04.2 LTS)
1.7.x-git 7.7 MB 7 1 About 50 Yes 1 x86-64 (Ubuntu 16.04.2 LTS)
1.6.5* 250 MB 160 30 About 50 Yes, mostly 30 x86-64 (FreeBSD 10)
1.6.x-git 72.1 MB 566 68 About 2,000 on most channels, 50 on about a third of them. Yes, mostly 6 x86-64 (Debian 7.11)
1.6.4 41 MB 110 22 300 No 1 x86-64 (openSUSE Leap 42.3)
1.7.x-git 30 MB 31 10 50 Yes 2 x86-64 (Arch)
1.6.5 48 MB 82 11 1500 No 1 x86-64 (Debian 9.3)
1.6.5 20.68 MB 12 5 112.5 No 1 x86-64 (CentOS 7)
1.8.x-git 145.7 MB 276 10 About 500,000 Yes 2 x86-64 (Ubuntu 14.04.5 LTS)
1.7.1 703.4 MB 4354 693 About 100 Yes, mostly 433 x86-64 (Arch)
1.6.5 20 MB 25 4 5000 No 1 x86-64 (FreeBSD 11)
1.7.4 89 MB 953 106 50 Yes 73 x86-64 (Debian 8)

Versions with " * " are modified versions.