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: Difference between revisions

From ZNC
Jump to navigation Jump to search
m added example commands and output for memory fetching
added new entry
 
(26 intermediate revisions by 4 users not shown)
Line 5: Line 5:
* Number of channels (across all users on a ZNC instance)
* Number of channels (across all users on a ZNC instance)
* Average saved buffer size of each channel
* Average saved buffer size of each channel
* Whether the AutoClearChanBuffer setting is used
* 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)
* Query Buffers (if ZNC 1.5 or later)
* Loaded modules (number, type, and function)
* Loaded modules (number, type, and function)
Line 11: Line 11:
* System architecture (x86, x86-64, etc.)
* 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, <abbr title="Your milage may vary">YMMV</abbr>.
'''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, <abbr title="your mileage may vary">YMMV</abbr>.


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.
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 here:
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
  $ ps aux --sort -rss | grep znc | awk '{print $1" "$2" "$6}' | column -t
Example output:
Example output:
Line 143: Line 143:
|1
|1
|x86-64 (Ubuntu 16.04.2 LTS)
|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)
|-
|1.7.3
|1040 MB
|6001
|899
|About 100
|Yes, mostly
|516
|x86-64 (Arch)
|-
|1.7.5*
|927 MB
|6757
|974
|About 100
|Yes, mostly
|548
|x86-64 (Arch)
|-
|1.9.x-git
|69 MB
|276
|16
|85000
|Yes
|2
|x86-64 (Ubuntu 14.04.5 LTS)
|-
|1.9.x-git [ZNC-Linker bot]
|12 MB
|2
|1
|About 50
|Yes
|1
|x86-64 (Ubuntu 14.04.5 LTS)
|-
|1.9.x-git [ZNC-Linker bot]
|15.28 MB
|2
|1
|About 50
|Yes
|1
|x86-64 (Debian 11)
|}
|}
Versions with " * " are modified versions.

Latest revision as of 23:35, 24 August 2021

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)
1.7.3 1040 MB 6001 899 About 100 Yes, mostly 516 x86-64 (Arch)
1.7.5* 927 MB 6757 974 About 100 Yes, mostly 548 x86-64 (Arch)
1.9.x-git 69 MB 276 16 85000 Yes 2 x86-64 (Ubuntu 14.04.5 LTS)
1.9.x-git [ZNC-Linker bot] 12 MB 2 1 About 50 Yes 1 x86-64 (Ubuntu 14.04.5 LTS)
1.9.x-git [ZNC-Linker bot] 15.28 MB 2 1 About 50 Yes 1 x86-64 (Debian 11)

Versions with " * " are modified versions.