NetXMS Support Forum

English Support => General Support => Topic started by: clifford on August 06, 2018, 06:56:59 AM

Title: NetXMS CPU Usage High
Post by: clifford on August 06, 2018, 06:56:59 AM
Hi

I just upgraded to 2.2.7  and the CPU usage is constantly high, and NetXMS is terribly slow. when i select alarns i get a requet timed out message (attached)
-----------------------------------------------------------------------------------
[root@localhost ~]# nxdbmgr -v
NetXMS Database Manager Version 2.2.7 Build 9513 (2.2.7) (UNICODE)
-----------------------------------------------------------------------------------
netxmsd: show dbstats
SQL query counters:
   Total .......... 8677913
   SELECT ......... 324464
   Non-SELECT ..... 8353449
   Long running ... 0
   Failed ......... 0
Background writer requests:
   DCI data ....... 57904
   DCI raw data ... 57903
   Others ......... 59
---------------------------------------------------------------------------------------
netxmsd: show queues
Data collector                   : 0
DCI cache loader                 : 0
Template updates                 : 0
Database writer                  : 0
Database writer (IData)          : 0
Database writer (raw DCI values) : 1808
Event processor                  : 0
Event log writer                 : 0
Poller                           : 0
Node discovery poller            : 0
Syslog processing                : 0
Syslog writer                    : 0
Scheduler                        : 0
------------------------------------------------------------
netxmsd: show stats
Objects............ 34904
Monitored nodes.... 1113
Collectible DCIs... 2191
Active alarms...... 168
__________________________________
netxmsd: show stats

Todays show stats

Objects............ 34955
Monitored nodes.... 1115
Collectible DCIs... 2191
Active alarms...... 218


what may be causing this, please help

Regards

Clifford Dsouza
Title: Re: NetXMS CPU Usage High
Post by: clifford on August 07, 2018, 11:35:05 AM
Quote from: clifford on August 06, 2018, 06:56:59 AM
Hi

I just upgraded to 2.2.7  and the CPU usage is constantly high, and NetXMS is terribly slow. when i select alarns i get a requet timed out message (attached)
-----------------------------------------------------------------------------------
[root@localhost ~]# nxdbmgr -v
NetXMS Database Manager Version 2.2.7 Build 9513 (2.2.7) (UNICODE)
-----------------------------------------------------------------------------------
netxmsd: show dbstats
SQL query counters:
   Total .......... 8677913
   SELECT ......... 324464
   Non-SELECT ..... 8353449
   Long running ... 0
   Failed ......... 0
Background writer requests:
   DCI data ....... 57904
   DCI raw data ... 57903
   Others ......... 59
---------------------------------------------------------------------------------------
netxmsd: show queues
Data collector                   : 0
DCI cache loader                 : 0
Template updates                 : 0
Database writer                  : 0
Database writer (IData)          : 0
Database writer (raw DCI values) : 1808
Event processor                  : 0
Event log writer                 : 0
Poller                           : 0
Node discovery poller            : 0
Syslog processing                : 0
Syslog writer                    : 0
Scheduler                        : 0
------------------------------------------------------------
netxmsd: show stats
Objects............ 34904
Monitored nodes.... 1113
Collectible DCIs... 2191
Active alarms...... 168
__________________________________
netxmsd: show stats

Todays show stats

Objects............ 34955
Monitored nodes.... 1115
Collectible DCIs... 2191
Active alarms...... 218


what may be causing this, please help

Regards

Clifford Dsouza

Can NetXMS use multi core CPU, ?
Title: Re: NetXMS CPU Usage High
Post by: Tursiops on August 07, 2018, 12:59:04 PM
It sure can. We're running with 20 cores at present and our average load is around 9, but that's with over 200,000 DCIs.
You can tweak the number of threads being used for different tasks in your server configuration.
It sounds to me like you may not have enough threads configured. Monitor "show threads" in your server console to see if you need to tweak them.
I guess you'll probably want to increase the ThreadPool.Main.MaxSize (default is 256) as well as possibly the ThreadPool.Syncer.MaxSize (default is 1).
Title: Re: NetXMS CPU Usage High
Post by: clifford on August 07, 2018, 02:31:00 PM
Thanks,

i changed the values to 512, hope this helps..
however i could not find the ThreadPool.Syncer.MaxSize parameter in the server configuration., so i manually created one, when you say it should be greater than 1, what could be the recommended value based on the stats i posted.

netxmsd: show threads
MAIN
   Threads:            8 (8/512)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

POLLERS
   Threads:            509 (10/512)
   Load average:       51.59 54.84 62.20
   Current load:       8%
   Usage:              99%
   Active requests:    44
   Scheduled requests: 0

DATACOLL
   Threads:            250 (10/250)
   Load average:       4.68 4.33 2.69
   Current load:       0%
   Usage:              100%
   Active requests:    0
   Scheduled requests: 0

SCHEDULER
   Threads:            1 (1/64)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

AGENT
   Threads:            4 (4/256)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0


Thanks

Clifford
Title: Re: NetXMS CPU Usage High
Post by: Tursiops on August 07, 2018, 02:45:42 PM
ThreadPool.Syncer.MaxSize does indeed not show in the standard configuration. You will also need to restart the server after you change it.
Set it to a value like 4 or 8, then have a look at how it behaves. You can see if the settings are active by checking the "show threads" command.

The Syncer threads are used whenever NetXMS actually writes object changes to the database, the interval between writes is defined in the SyncInterval in the server configuration. Default is 60 seconds (which also means a server crash could lose you up to 60 seconds worth of data/changes). If your objects change a lot or you make changes to templates that affect a lot of nodes, the default single threaded Syncer could be a bottleneck. You can follow the progress of the syncer process if you enter "debug obj.sync 7" and "debug sync 7" in the server console, then check the netxmsd log file. Once the Syncer kicks in, it will log how many changes it needs to write and you can get an idea for how long it takes to do so. It's not a lot of extra messages, but useful information while you're making those changes.

For overall performance, the main threads are probably more relevant.
You can monitor the load of your thread pools by creating DCIs on your NetXMS server itself (using the "Internal" DCIs).
I suggest you monitor some of those to see where exactly you may need to adjust your settings.
Title: Re: NetXMS CPU Usage High
Post by: clifford on August 08, 2018, 08:40:18 AM
Quote from: clifford on August 07, 2018, 02:31:00 PM
Thanks,

i changed the values to 512, hope this helps..
however i could not find the ThreadPool.Syncer.MaxSize parameter in the server configuration., so i manually created one, when you say it should be greater than 1, what could be the recommended value based on the stats i posted.

netxmsd: show threads
MAIN
   Threads:            8 (8/512)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

POLLERS
   Threads:            509 (10/512)
   Load average:       51.59 54.84 62.20
   Current load:       8%
   Usage:              99%
   Active requests:    44
   Scheduled requests: 0

DATACOLL
   Threads:            250 (10/250)
   Load average:       4.68 4.33 2.69
   Current load:       0%
   Usage:              100%
   Active requests:    0
   Scheduled requests: 0

SCHEDULER
   Threads:            1 (1/64)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

AGENT
   Threads:            4 (4/256)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0


Thanks

Clifford

When everything is fine and the CPU is at 3% to 25 % Usage

netxmsd:  show threads
MAIN
   Threads:            36 (8/512)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              7%
   Active requests:    0
   Scheduled requests: 0

POLLERS
   Threads:            510 (10/512)
   Load average:       41.75 112.32 76.88
   Current load:       44%
   Usage:              99%
   Active requests:    226
   Scheduled requests: 0

DATACOLL
   Threads:            249 (10/250)
   Load average:       0.72 6.04 4.81
   Current load:       0%
   Usage:              99%
   Active requests:    2
   Scheduled requests: 0

SCHEDULER
   Threads:            1 (1/64)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

AGENT
   Threads:            4 (4/256)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

SYNCER
   Threads:            10 (1/10)
   Load average:       17.84 29.54 14.71
   Current load:       0%
   Usage:              100%
   Active requests:    0
   Scheduled requests: 0


When things are bad :o



netxmsd: show threads
MAIN
   Threads:            2048 (8/2048)
   Load average:       2996493.60 2968151.86 2119779.01
   Current load:       145523%
   Usage:              100%
   Active requests:    2980327
   Scheduled requests: 0

POLLERS
   Threads:            1003 (10/1024)
   Load average:       51.45 48.24 45.01
   Current load:       5%
   Usage:              97%
   Active requests:    51
   Scheduled requests: 0

DATACOLL
   Threads:            512 (10/512)
   Load average:       5.44 2.90 1.57
   Current load:       0%
   Usage:              100%
   Active requests:    0
   Scheduled requests: 0

SCHEDULER
   Threads:            1 (1/64)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

AGENT
   Threads:            4 (4/256)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

SYNCER
   Threads:            7 (1/10)
   Load average:       0.00 1.44 5.04
   Current load:       0%
   Usage:              70%
   Active requests:    0
   Scheduled requests: 0
Title: Re: NetXMS CPU Usage High
Post by: clifford on August 08, 2018, 09:16:21 AM
Quote from: clifford on August 08, 2018, 08:40:18 AM
Quote from: clifford on August 07, 2018, 02:31:00 PM
Thanks,

i changed the values to 512, hope this helps..
however i could not find the ThreadPool.Syncer.MaxSize parameter in the server configuration., so i manually created one, when you say it should be greater than 1, what could be the recommended value based on the stats i posted.

netxmsd: show threads
MAIN
   Threads:            8 (8/512)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

POLLERS
   Threads:            509 (10/512)
   Load average:       51.59 54.84 62.20
   Current load:       8%
   Usage:              99%
   Active requests:    44
   Scheduled requests: 0

DATACOLL
   Threads:            250 (10/250)
   Load average:       4.68 4.33 2.69
   Current load:       0%
   Usage:              100%
   Active requests:    0
   Scheduled requests: 0

SCHEDULER
   Threads:            1 (1/64)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

AGENT
   Threads:            4 (4/256)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0


Thanks

Clifford

When everything is fine and the CPU is at 3% to 25 % Usage

netxmsd:  show threads
MAIN
   Threads:            36 (8/512)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              7%
   Active requests:    0
   Scheduled requests: 0

POLLERS
   Threads:            510 (10/512)
   Load average:       41.75 112.32 76.88
   Current load:       44%
   Usage:              99%
   Active requests:    226
   Scheduled requests: 0

DATACOLL
   Threads:            249 (10/250)
   Load average:       0.72 6.04 4.81
   Current load:       0%
   Usage:              99%
   Active requests:    2
   Scheduled requests: 0

SCHEDULER
   Threads:            1 (1/64)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

AGENT
   Threads:            4 (4/256)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

SYNCER
   Threads:            10 (1/10)
   Load average:       17.84 29.54 14.71
   Current load:       0%
   Usage:              100%
   Active requests:    0
   Scheduled requests: 0


When things are bad :o



netxmsd: show threads
MAIN
   Threads:            2048 (8/2048)
   Load average:       2996493.60 2968151.86 2119779.01
   Current load:       145523%
   Usage:              100%
   Active requests:    2980327
   Scheduled requests: 0

POLLERS
   Threads:            1003 (10/1024)
   Load average:       51.45 48.24 45.01
   Current load:       5%
   Usage:              97%
   Active requests:    51
   Scheduled requests: 0

DATACOLL
   Threads:            512 (10/512)
   Load average:       5.44 2.90 1.57
   Current load:       0%
   Usage:              100%
   Active requests:    0
   Scheduled requests: 0

SCHEDULER
   Threads:            1 (1/64)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

AGENT
   Threads:            4 (4/256)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

SYNCER
   Threads:            7 (1/10)
   Load average:       0.00 1.44 5.04
   Current load:       0%
   Usage:              70%
   Active requests:    0
   Scheduled requests: 0

Title: Re: NetXMS CPU Usage High
Post by: clifford on August 08, 2018, 09:17:25 AM
Quote from: clifford on August 08, 2018, 09:16:21 AM
Quote from: clifford on August 08, 2018, 08:40:18 AM
Quote from: clifford on August 07, 2018, 02:31:00 PM
Thanks,

i changed the values to 512, hope this helps..
however i could not find the ThreadPool.Syncer.MaxSize parameter in the server configuration., so i manually created one, when you say it should be greater than 1, what could be the recommended value based on the stats i posted.

netxmsd: show threads
MAIN
   Threads:            8 (8/512)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

POLLERS
   Threads:            509 (10/512)
   Load average:       51.59 54.84 62.20
   Current load:       8%
   Usage:              99%
   Active requests:    44
   Scheduled requests: 0

DATACOLL
   Threads:            250 (10/250)
   Load average:       4.68 4.33 2.69
   Current load:       0%
   Usage:              100%
   Active requests:    0
   Scheduled requests: 0

SCHEDULER
   Threads:            1 (1/64)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

AGENT
   Threads:            4 (4/256)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0


Thanks

Clifford

When everything is fine and the CPU is at 3% to 25 % Usage

netxmsd:  show threads
MAIN
   Threads:            36 (8/512)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              7%
   Active requests:    0
   Scheduled requests: 0

POLLERS
   Threads:            510 (10/512)
   Load average:       41.75 112.32 76.88
   Current load:       44%
   Usage:              99%
   Active requests:    226
   Scheduled requests: 0

DATACOLL
   Threads:            249 (10/250)
   Load average:       0.72 6.04 4.81
   Current load:       0%
   Usage:              99%
   Active requests:    2
   Scheduled requests: 0

SCHEDULER
   Threads:            1 (1/64)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

AGENT
   Threads:            4 (4/256)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

SYNCER
   Threads:            10 (1/10)
   Load average:       17.84 29.54 14.71
   Current load:       0%
   Usage:              100%
   Active requests:    0
   Scheduled requests: 0


When things are bad :o



netxmsd: show threads
MAIN
   Threads:            2048 (8/2048)
   Load average:       2996493.60 2968151.86 2119779.01
   Current load:       145523%
   Usage:              100%
   Active requests:    2980327
   Scheduled requests: 0

POLLERS
   Threads:            1003 (10/1024)
   Load average:       51.45 48.24 45.01
   Current load:       5%
   Usage:              97%
   Active requests:    51
   Scheduled requests: 0

DATACOLL
   Threads:            512 (10/512)
   Load average:       5.44 2.90 1.57
   Current load:       0%
   Usage:              100%
   Active requests:    0
   Scheduled requests: 0

SCHEDULER
   Threads:            1 (1/64)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

AGENT
   Threads:            4 (4/256)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

SYNCER
   Threads:            7 (1/10)
   Load average:       0.00 1.44 5.04
   Current load:       0%
   Usage:              70%
   Active requests:    0
   Scheduled requests: 0

System stats

all this is just snmp traffic

things got normal when i quit the console and all is well since reconnecting the console again

Regards
Clifford
Title: Re: NetXMS CPU Usage High
Post by: clifford on August 08, 2018, 10:14:42 AM
Quote from: clifford on August 08, 2018, 09:17:25 AM
Quote from: clifford on August 08, 2018, 09:16:21 AM
Quote from: clifford on August 08, 2018, 08:40:18 AM
Quote from: clifford on August 07, 2018, 02:31:00 PM
Thanks,

i changed the values to 512, hope this helps..
however i could not find the ThreadPool.Syncer.MaxSize parameter in the server configuration., so i manually created one, when you say it should be greater than 1, what could be the recommended value based on the stats i posted.

netxmsd: show threads
MAIN
   Threads:            8 (8/512)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

POLLERS
   Threads:            509 (10/512)
   Load average:       51.59 54.84 62.20
   Current load:       8%
   Usage:              99%
   Active requests:    44
   Scheduled requests: 0

DATACOLL
   Threads:            250 (10/250)
   Load average:       4.68 4.33 2.69
   Current load:       0%
   Usage:              100%
   Active requests:    0
   Scheduled requests: 0

SCHEDULER
   Threads:            1 (1/64)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

AGENT
   Threads:            4 (4/256)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0


Thanks

Clifford

When everything is fine and the CPU is at 3% to 25 % Usage

netxmsd:  show threads
MAIN
   Threads:            36 (8/512)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              7%
   Active requests:    0
   Scheduled requests: 0

POLLERS
   Threads:            510 (10/512)
   Load average:       41.75 112.32 76.88
   Current load:       44%
   Usage:              99%
   Active requests:    226
   Scheduled requests: 0

DATACOLL
   Threads:            249 (10/250)
   Load average:       0.72 6.04 4.81
   Current load:       0%
   Usage:              99%
   Active requests:    2
   Scheduled requests: 0

SCHEDULER
   Threads:            1 (1/64)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

AGENT
   Threads:            4 (4/256)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

SYNCER
   Threads:            10 (1/10)
   Load average:       17.84 29.54 14.71
   Current load:       0%
   Usage:              100%
   Active requests:    0
   Scheduled requests: 0


When things are bad :o



netxmsd: show threads
MAIN
   Threads:            2048 (8/2048)
   Load average:       2996493.60 2968151.86 2119779.01
   Current load:       145523%
   Usage:              100%
   Active requests:    2980327
   Scheduled requests: 0

POLLERS
   Threads:            1003 (10/1024)
   Load average:       51.45 48.24 45.01
   Current load:       5%
   Usage:              97%
   Active requests:    51
   Scheduled requests: 0

DATACOLL
   Threads:            512 (10/512)
   Load average:       5.44 2.90 1.57
   Current load:       0%
   Usage:              100%
   Active requests:    0
   Scheduled requests: 0

SCHEDULER
   Threads:            1 (1/64)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

AGENT
   Threads:            4 (4/256)
   Load average:       0.00 0.00 0.00
   Current load:       0%
   Usage:              1%
   Active requests:    0
   Scheduled requests: 0

SYNCER
   Threads:            7 (1/10)
   Load average:       0.00 1.44 5.04
   Current load:       0%
   Usage:              70%
   Active requests:    0
   Scheduled requests: 0

System stats

all this is just snmp traffic

things got normal when i quit the console and all is well since reconnecting the console again

Regards
Clifford

:'(
Sadly had to quite the management console again, tried with the 32 bit console also, after few minutes the system goes for a toss again

Regards
Clifford
Title: Re: NetXMS CPU Usage High
Post by: Victor Kirhenshtein on August 08, 2018, 12:13:23 PM
Hi,

please do the following:

1. Enter

debug client.* 6

in server console. This will turn on debug of incoming client requests.

2. Connect with console and wait for CPU to go up.

3. Capture threads using attached script (you should have gdb and all relevant netxms-*-dbg packages installed).

Send me thread dump (will be in /tmp) and server log file (part for the duration of client session).

Best regards,
Victor
Title: Re: NetXMS CPU Usage High
Post by: clifford on August 09, 2018, 06:08:24 AM
Hi Victor

thanks for ur reply, i need clarity on the 3rd point

3. Capture threads using attached script (you should have gdb and all relevant netxms-*-dbg packages installed
how do i verify i have gdb and dbg packages installed , i did the standard netxms install on centos 7.

beside that i dont see any attached scripts, and an example how to capture the threads

Regards

Clifford
Title: Re: NetXMS CPU Usage High
Post by: Victor Kirhenshtein on August 09, 2018, 12:15:06 PM
Hi,

sorry, I forgot to attach script. Now it's attached. Script expects netxmsd to be in your PATH. If it is not, change 'netxmsd' in script's second line to full path to netxmsd.

On Centos you likely build NetXMS from sources - then debug information is embedded into binaries. You only have to install gdb package if not installed already:

yum install gdb

Best regards,
Victor
Title: Re: NetXMS CPU Usage High
Post by: clifford on August 09, 2018, 12:57:39 PM
Hi Victor,

Please find the attached scripts output for your reference.

Best Regards
Clifford

Title: Re: NetXMS CPU Usage High
Post by: Victor Kirhenshtein on August 09, 2018, 03:30:58 PM
Are you sure that CPU usage was high when you capture this dump? I see lot of locks inside (that could be an indicator of another problem) but cannot find anything that can cause high CPU load.

Best regards,
Victor
Title: Re: NetXMS CPU Usage High
Post by: Victor Kirhenshtein on August 09, 2018, 03:53:09 PM
Just found the place. Seems that server enters infinite loop deep within libz (compression library). Check if new version is available. Also, you can try to rebuild server with configure option --with-internal-zlib.

Best regards,
Victor
Title: Re: NetXMS CPU Usage High
Post by: clifford on August 10, 2018, 10:01:09 AM
Hi Victor,

I rebuild the server with-zlib option but situation is same. after few minutes CPU goes high. I have captured the threads with script which you had shared earlier. Please find the attached screenshot with thread output files.

Thank you
Clifford.
Title: Re: NetXMS CPU Usage High
Post by: Victor Kirhenshtein on August 10, 2018, 11:11:46 AM
It hangs in same place. It looks like zlib bug, for deeper debugging we need actual data being compressed. As a workaround you can try to disable NXCP compression for client sessions by commenting out lines 1894 and 1895 (should looks like

            m_dwFlags |= CSF_COMPRESSION_ENABLED;
            msg.setField(VID_ENABLE_COMPRESSION, true);

in src/server/core/session.cpp and recompile server.

Best regards,
Victor
Title: Re: NetXMS CPU Usage High
Post by: clifford on August 10, 2018, 12:57:33 PM
Hi Victor,

I check  in src/server/core/session.cpp line 1894 abd 1895 are already commented out. Please find the attached snapshot.





Title: Re: NetXMS CPU Usage High
Post by: Victor Kirhenshtein on August 10, 2018, 01:54:43 PM
No, they are not. Put // in front of each line.

Best regards,
Victor
Title: Re: NetXMS CPU Usage High
Post by: clifford on August 10, 2018, 02:00:12 PM
Hi Victor,

I recompiled after commenting out the 2 lines as suggested. However the problem remains the same.
Actually we have 2 different Servers for which we recently upgraded from 2.2.5 to 2.2.7 one of these server is running fine after upgrade. Issue is with only this Server, earlier this Server was working Good.

Thank you
Clifford
Title: Re: NetXMS CPU Usage High
Post by: clifford on August 21, 2018, 08:15:46 AM
Hello Victor,

Any update regarding the issue which we are facing?

Thanks
Clifford.
Title: Re: NetXMS CPU Usage High
Post by: Tatjana Dubrovica on August 22, 2018, 05:46:20 PM
What is difference between servers? Number of nodes, different OS?
Title: Re: NetXMS CPU Usage High
Post by: clifford on August 23, 2018, 02:17:53 PM
Hi Tatjana,

Both Servers are Virtual with same configuration and OS (Centos 7). Please see the node stats of both Server below.

Server with issue:

NetXMS Server Remote Console V2.2.7 Ready
Enter "help" for command list

netxmsd: show stats
Objects............ 35197
Monitored nodes.... 1122
Collectible DCIs... 2146
Active alarms...... 416

Server working fine:

NetXMS Server Remote Console V2.2.7 Ready
Enter "help" for command list

netxmsd: show stats
Objects............ 32410
Monitored nodes.... 853
Collectible DCIs... 288
Active alarms...... 232


Thanks
Clifford




Title: Re: NetXMS CPU Usage High
Post by: Tatjana Dubrovica on August 27, 2018, 01:44:07 PM
Looks like you have really a lot of object updates and server is unable to delivere all updates to the client so everything just stuck. I'll rework object update messages, but can't promise the release number where it will get in.
Title: Re: NetXMS CPU Usage High
Post by: clifford on August 28, 2018, 07:34:31 AM
Hi

I didn't get the "server is unable to deliver all updates to the client" part, cause almost all objects are switches and routers, so all we expect from the NMS is to report when the node or link is down. so all of it is SNMP Queries to the clients to check for update status

also it is important for me to view the link status as in my below query

https://www.netxms.org/forum/configuration/unable-to-get-bandwidth-details-on-map/msg23166/#msg23166

hope this gets implemented, it would be the greatest thing for me,

My NMS would be super complete :)

Regards
Clifford
Title: Re: NetXMS CPU Usage High
Post by: Tursiops on August 28, 2018, 08:04:35 AM
I believe Tatjana means updates to be sent from the server to the Management Console (client), i.e. either the server can't send new information to the client fast enough or the client can't accept it fast enough, thus throttling the server. Once that happens, the queue of updates to send just keeps increasing as it cannot catch up. It'll probably do that until the server runs out of resources and trips over - or until the console is closed. The latter explains why your server performance came good whenever you closed the console.

Have you considered using the Web Console for testing (sry, we're using Ubuntu, so can't give any guidance on the CentOS process)?
As that can be installed on the server itself, it would effectively remove the network from the server to console communication.
Title: Re: NetXMS CPU Usage High
Post by: clifford on August 28, 2018, 08:44:14 AM
Hi

Cool! i'll try the web console

was wondering will shifting to ubuntu help?

Regards

Clifford Dsouza
Title: Re: NetXMS CPU Usage High
Post by: Tursiops on August 29, 2018, 05:59:00 AM
I haven't run a NetXMS server on anything other than Ubuntu, so I really can't tell if this is any better/worse than the other options out there.
One of our reasons for using Ubuntu (other than personal preference) was the availability of NetXMS packages directly from the developers.

Title: Re: NetXMS CPU Usage High
Post by: clifford on September 10, 2018, 09:33:56 AM
Hi,

We have just upgraded Netxms  Server to 2.2.8, now the response seems normal from Management console however CPU utilization is showing 300% and above, below are the stats after the upgrade. Just wanted to know if it is normal.


NetXMS Server Remote Console V2.2.8 Ready
Enter "help" for command list

netxmsd: show threads
MAIN
   Threads.............. 256 (8/256)
   Load average......... 7838118.55 7292039.09 5187107.27
   Current load......... 3084405%
   Usage................ 100%
   Active requests...... 7896078
   Scheduled requests... 0
   Total requests....... 12741590
   Thread starts........ 248
   Thread stops......... 0
   Average wait time.... 1641274 ms

POLLERS
   Threads.............. 250 (10/250)
   Load average......... 103.76 109.10 117.88
   Current load......... 83%
   Usage................ 100%
   Active requests...... 208
   Scheduled requests... 0
   Total requests....... 30786539
   Thread starts........ 240
   Thread stops......... 0
   Average wait time.... 221 ms

DATACOLL
   Threads.............. 96 (10/250)
   Load average......... 4.58 5.48 5.53
   Current load......... 1%
   Usage................ 38%
   Active requests...... 1
   Scheduled requests... 0
   Total requests....... 17575738
   Thread starts........ 382
   Thread stops......... 296
   Average wait time.... 0 ms

SCHEDULER
   Threads.............. 1 (1/64)
   Load average......... 0.00 0.00 0.00
   Current load......... 0%
   Usage................ 1%
   Active requests...... 0
   Scheduled requests... 0
   Total requests....... 1750
   Thread starts........ 0
   Thread stops......... 0
   Average wait time.... 0 ms

AGENT
   Threads.............. 4 (4/256)
   Load average......... 0.00 0.00 0.00
   Current load......... 0%
   Usage................ 1%
   Active requests...... 0
   Scheduled requests... 0
   Total requests....... 0
   Thread starts........ 0
   Thread stops......... 0
   Average wait time.... 0 ms

CLIENT
   Threads.............. 16 (16/512)
   Load average......... 0.00 0.00 0.00
   Current load......... 0%
   Usage................ 3%
   Active requests...... 0
   Scheduled requests... 0
   Total requests....... 4586
   Thread starts........ 0
   Thread stops......... 0
   Average wait time.... 0 ms


Thank you
Clifford.
Title: Re: NetXMS CPU Usage High
Post by: Victor Kirhenshtein on September 10, 2018, 10:47:22 AM
Hi,

load on thread pool MAIN is definitely not normal. Could you please capture thread stack traces using attached script (you will need gdb installed)?

Best regards,
Victor
Title: Re: NetXMS CPU Usage High
Post by: clifford on September 10, 2018, 11:50:08 AM
Hi,

Please find the output of script attached for your reference.

Thanks
Clifford
Title: Re: NetXMS CPU Usage High
Post by: Victor Kirhenshtein on September 10, 2018, 12:58:47 PM
Hi,

looks like server is locked on sending object updates to one of user sessions. We encounter same issue in another installation recently and already changed object update notification mechanism in current development branch, so there are good chance that upgrade to 2.2.9 will fix your issue.

Best regards,
Victor
Title: Re: NetXMS CPU Usage High
Post by: clifford on September 10, 2018, 02:41:34 PM
Hi Victor

Great!!!, Eagerly waiting for v2.2.9

Thanks and Regards

Clifford


Title: Re: NetXMS CPU Usage High
Post by: clifford on September 29, 2018, 06:22:56 AM
Hi Victor,

The 2.2.9 Upgrade solved all issues

everything works just great!!

Regards

Clifford Dsouza