Help Center> MapReduce Service> User Guide> Alarm Reference (Applicable to MRS 3.x)> ALM-43012 Direct Heap Memory Usage of the JDBCServer2x Process Exceeds the Threshold
Updated on 2023-10-10 GMT+08:00

ALM-43012 Direct Heap Memory Usage of the JDBCServer2x Process Exceeds the Threshold

Description

The system checks the JDBCServer2x Process status every 30 seconds. The alarm is generated when the direct heap memory usage of a JDBCServer2x Process exceeds the threshold (95% of the maximum memory).

In MRS 3.3.0-LTS and later versions, the Spark2x component is renamed Spark, and the role names in the component are also changed. For example, JDBCServer2x is changed to JDBCServer. Refer to the descriptions and operations related to the component name and role names in the document based on your MRS version.

Attribute

Alarm ID

Alarm Severity

Auto Clear

43012

Major

Yes

Parameters

Name

Meaning

Source

Specifies the cluster for which the alarm is generated.

ServiceName

Specifies the service name for which the alarm is generated.

RoleName

Specifies the role name for which the alarm is generated.

HostName

Specifies the object (host ID) for which the alarm is generated.

Trigger Condition

Specifies the threshold triggering the alarm. If the current indicator value exceeds this threshold, the alarm is generated.

Impact on the System

If the available JDBCServer2x Process direct heap memory is insufficient, a memory overflow occurs and the service breaks down.

Possible Causes

The direct heap memory of the JDBCServer2x Process is overused or the direct heap memory is inappropriately allocated.

Procedure

Check direct heap memory usage.

  1. On the FusionInsight Manager portal, choose O&M > Alarm > Alarms and select the alarm whose ID is 43012. Check the RoleName in Location and confirm the IP address of HostName.
  2. On the FusionInsight Manager portal, choose Cluster > Name of the desired cluster > Services > Spark2x > Instance and click the JDBCServer2x for which the alarm is generated to go to the Dashboard page. Click the drop-down menu in the Chart area and choose Customize > Memory > JDBCServer2x Memory Usage Statistics from the drop-down list box in the upper right corner and click OK. Check whether the used direct heap memory of the JDBCServer2x Process reaches the threshold(default value is 95%) of the maximum direct heap memory specified for JDBCServer2x.

    • If yes, go to 3.
    • If no, go to 7.
    Figure 1 JDBCServer2x Memory Usage Statistics

  3. On the FusionInsight Manager home page, choose Cluster > Name of the desired cluster > Services > Spark2x > Instance. Click JDBCServer2x by which the alarm is reported to go to the Dashboard page, click the drop-down list in the upper right corner of the chart area, choose Customize > Memory > Direct Memory of JDBCServer2x, and click OK. Based on the alarm generation time, check the values of the used direct memory of the JDBCServer2x process in the corresponding period and obtain the maximum value.

    Figure 2 Direct Memory of JDBCServer2x

  4. On the FusionInsight Manager portal, choose Cluster > Name of the desired cluster > Services > Spark2x > Configurations, and click All Configurations. Choose JDBCServer2x > Tuning. The default value of -XX:MaxDirectMemorySize in spark.driver.extraJavaOptions is 512 MB. You can change the value according to the following rules: Ratio of the maximum direct memory usage of the JDBCServer2x to the Threshold of the JDBCServer2x Direct Memory Usage Statistics (JDBCServer2x) in the alarm period. If this alarm is generated occasionally after the parameter value is adjusted, increase the value by 0.5 times. If the alarm is frequently reported after the parameter value is adjusted, increase the value by 1 time. In the case of large service volume and high service concurrency, you are advised to add instances.

    On the FusionInsight Manager home page, choose O&M > Alarm > Thresholds > Name of the desired cluster > Spark2x > Memory >JDBCServer2x Direct Memory Usage Statistics (JDBCServer2x) to view Threshold.

  5. Restart all JDBCServer2x instances.
  6. After 10 minutes, check whether the alarm is cleared.

    • If yes, no further action is required.
    • If no, go to 7.

Collect fault information.

  1. On the FusionInsight Manager portal, choose O&M > Log > Download.
  2. Select Spark2x in the required cluster from the Service.
  3. Click 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 the O&M personnel and send the collected logs.

Alarm Clearing

After the fault is rectified, the system automatically clears this alarm.

Related Information

None