Categories
exacqVision Enterprise Windows Knowledge Support Support exacqVision Enterprise Products

Enterprise Manager memory resource usage high due to importer

Exacq Support has identified an issue with Enterprise Manager importer processes using an excessive amount of memory resource, often requiring reboot due to system becoming unresponsive when installed on some Windows machines. This is estimated to affect versions 23.06.2.0 thru latest versions of ExacqVision Enterprise Manager for Windows. Developers are aware and working on resolving these issues.

NOTE: This high memory resource usage often corresponds with errors seen in importer log exceptions. You can trace the PID this process starts up on in importer-error logs to the process in task manager in Windows.

Product 

  • ExacqVision Enterprise Manager
  • 23.06.2.0 – 24.06.2.0

Solution

Engineering has developed a temporary workaround consisting of a PowerShell script developed to scan for and kill certain importer processes when their memory usage is at unacceptable levels. This script runs every 5 minutes, unless code is altered. This script should only be used as a last resort for Support personnel to deploy when all troubleshooting and other remediation steps have been exhausted. In some cases it may be recommended to alter the MemoryCeiling function of this script to better suite certain customer scenarios.

It is also recommended that this script be triggered as a scheduled task from task scheduler. This often requires that Execution Policies be bypassed to launch successfully on reboot. Detailed instructions are below:

1) Download the importerMonitor.ps1 script from:

https://support.exacq.com/#/file-manager/33becef0-0ab8-4b0f-9127-94884ac262a6/em-dev-build

2) Unzip the file and place the importerMonitor.ps1 file in a directory. Often times, it is best to place this in: “%\Program Files\exacqvision\”

3) Open Task Scheduler in windows and Create Task, then name task importerMonitor and configure an admin user and to run whether user is logged on or not. Be sure to check the box for Run with highest privileges, and configure for OS in use.

4) Under triggers, select New… Then configure for “At Startup”.

5) Under the Actions tab, select New… and configure as follows:
– Start a Program
– Program/script: Powershell.exe
– Add arguments: -ExecutionPolicy Bypass – File “C:\Program Files\exacqVision\importerMonitor.ps1”

6) Configure the conditions tab as pictured:

7) Configure the Settings tab as pictured:

8) Reboot to test the Task at startup, and verify it worked as expected by observing the History tab in Task Scheduler for this task:



<br>

Categories
Knowledge Support Support exacqVision Enterprise Categories Products

Disabling or enabling of a camera will cause ESM importer to crash

Affected platforms

ESM version 3.6.1, trunk builds 3.7.3 through 3.7.5

<br>

Symptom

When a camera is enabled or disabled in the exacqVision client, ESM backend will crash. In the UI in the upper right corner, you will notice servers dropping and reconnecting. Inspection of importer log will show the crash.

<br>

Workaround

Do not disable/enable cameras

<br>

Resolution

Update ESM to version 3.6.2 or later (excluding the 3.7.3 – 3.7.5 trunk builds)

Categories
Knowledge Support Support exacqVision Enterprise Categories Products

How to Reduce the ESM Importer Count

Symptom:

High CPU Usage seen on the ESM machine. CPU increases every 10-15 seconds to 99%. 

<br>

Problem:

ESM utilizes an environmental variable named ‘_ESM_NUM_IMPORTERS’. Lowering this value will limit the number of sub importers that talk to the servers. 

An example application for this use would be when there are a low number of servers for ESM to talk to but the ESM machine has a high number of CPU cores.

If you have 10 servers but 4 cores on your ESM machine, it doesn’t necessarily make sense to run an importer service on each core. But if you have 100 servers and 4 cores, it may make more sense to allow an importer to run on each core. 

Solution:

Windows:

Run CMD as an administrator, and enter the following:   setx _ESM_NUM_IMPORTERS "X" , where X is the number of importers to run.

Restart the ESM Importer service.

Linux:

You must edit the ESMImporter.conf file. On 16.04 and higher systems this is located in /etc/init.d/, on systems lower than 16.04 this is located in /etc/init/

At the top of the file add the following lines:

_ESM_ENUM_IMPORTERS="X"
export _ESM_ENUM_IMPORTERS

Replace ‘X’ above with the number of importers to run.

Save the file and restart the ESM Importer daemon.