High CPU Usage Issues Caused by the 'ecache' Process

Author:
Luis Fernandes
June 16, 2019 18:11Updated

Overview

The EdgeCache functionality of Exinda is composed of multiple parts. The ecache process is the front-facing part of the EdgeCache engine, and it determines how EdgeCache should behave. On the other hand, the squid process is responsible for putting items into and out of the cache when required by EdgeCache.

Since the ecache process is what directs all the information flow, it is possible, in some rare instances, to see that the process uses 99.9% of all the available CPU, causing performance issues, as well as slow reporting and access to the Exinda appliance.

Root Cause

The ecache process is exceptionally complex. As a result, it is possible for it to get into a loop, where it keeps attempting to execute tasks in a specific order repeatedly, without a necessary condition to stop it. As a result, ecache is stuck using as much CPU as it can, waiting for an unexisting condition to stop it, which leads to a perpetual state of CPU use. While this is a rare condition, it can happen during regular use.

Resolution

Stopping the ecache process, or disabling EdgeCache (by navigating to Configuration > System > Optimization) on the system will stop this problem from occurring. The ecache process was redesigned in ExOS7.4.3 to prevent this situation from occurring. Hence, for a permanent solution, upgrade to ExOS7.4.3.

It is expected for ecache (and squid) to use a nominal amount of CPU, depending on the load of the system. The issue described herein is explicitly referring to a situation when ecache alone is using 99.9% CPU for extended periods.