ALM-45588 IoTDBServer Direct Memory Usage Exceeds the Threshold

Description

The system checks the direct memory usage of the IoTDBServer service every 60 seconds. This alarm is generated when the direct memory usage of the IoTDBServer instance exceeds the threshold (90% of the maximum memory) for five consecutive times. This alarm is cleared when the IoTDBServer direct memory usage is less than or equal to the threshold.

Attribute

Alarm ID

Alarm Severity

Auto Clear

45588

Major

Yes

Parameters

Name

Meaning

Source

Specifies the cluster for which the alarm is generated.

ServiceName

Specifies the service for which the alarm is generated.

RoleName

Specifies the role for which the alarm is generated.

HostName

Specifies the host for which the alarm is generated.

Trigger Condition

Specifies the threshold for triggering the alarm.

Impact on the System

Direct memory overflow may cause service breakdown.

Possible Causes

The direct memory of the IoTDBServer process is overused or the direct memory is inappropriately allocated.

Procedure

Check the direct memory usage.

  1. Log in to FusionInsight Manager and choose O&M. In the navigation pane on the left, choose Alarm > Alarms. On the page that is displayed, locate the row containing the alarm whose Alarm ID is 45588, view the role name in Location, and check the instance IP address.

  2. Choose Cluster > Name of the desired cluster > Service > IoTDB > Instance. Click the IoTDBServer for which the alarm is generated to go to Dashboard. Click the drop-down list in the upper right corner of the chart area and choose Customize > Memory. In the dialog box that is displayed, select IoTDBServer Direct Buffer Resource Percentage, and click OK.

  3. Check whether the direct memory used by the IoTDBServer reaches the threshold (90% of the maximum direct memory by default).

    • If yes, go to 4.

    • If no, go to 6.

  4. On FusionInsight Manager, choose Cluster > Name of the desired cluster > Service > IoTDB > Configuration, click All Configurations, choose IoTDBServer > System, increase the value of -XX:MaxDirectMemorySize in the GC_OPTS parameter as required, and save the configuration.

    Note

    • If this alarm is generated, the direct memory configured for the IoTDBServer process cannot meet the requirements of the IoTDBServer process.

    • You are advised to set -XX:MaxDirectMemorySize in GC_OPTS to twice the direct memory used by the IoTDBServer process. (You can change the value based on the actual service scenario.)

    • To obtain the size of the direct memory used by the IoTDBServer process, choose Customize > Memory > IoTDBServer Direct Memory Resource Status. If GC_OPTS does not contain the -XX:MaxDirectMemorySize parameter, add it manually.

  5. Restart the affected services or instances and check whether the alarm is cleared.

    • If yes, no further action is required.

    • If no, go to 6.

Collect the fault information.

  1. On FusionInsight Manager, choose O&M. In the navigation pane on the left, choose Log > Download.

  2. Expand the Service drop-down list, and select IoTDBServer for the target cluster.

  3. Click image1 in the upper right corner, and set Start Date and End Date for log collection to 10 minutes ahead of and after the alarm generation time, respectively. Then, click Download.

  4. Contact O&M personnel and provide the collected logs.

Alarm Clearing

This alarm is automatically cleared after the fault is rectified.