通用方案:account-session-aliyun-com容器中应用服务的JVM初始内存调整方法

通用方案:account-session-aliyun-com容器中应用服务的JVM初始内存调整方法

更新时间:2020-06-16 15:00:14

1. 概述

本文主要介绍在专有云V3环境baseService-aas服务account-session-aliyun-com容器中,应用服务的JVM初始内存调整方法。

1.1. 适用范围

  • 专有云V3,基础服务设备

1.2. 风险说明

修改单个容器中Java启动参数并重启,无风险。

2. 问题描述

在天基控制台baseService-aas服务AccountSessionAliyunCom#服务角色所在的机器报错。

3. 解决方案

3.1. 环境检查

  1. 登录天基控制台。
  2. 在左侧集群页签下搜索baseServiceAll,单击StandardCloudCluster-XXXXX集群,选择集群运维中心 

  3. 服务框中选择baseService-aas服务角色框中选择AccountSessionAliyunCom#,选择机器,单击Terminal登录服务器控制台。

  4. 执行以下命令,查看account-session-aliyun-com容器的ID。

    docker ps -a |grep AccountSessionAliyunCom
  5. 执行以下命令,进入account-session-aliyun-com容器。
    docker exec -it [$Container_ID] bash
  6. 执行以下命令,查看Java进程是否存在,查看Java进程内存使用是否正常。
    ps aux|grep java
    系统显示类似如下。
    tomcat 214 87.6 98.3 3231980 2061688 ? Sl 2017 225613:18 /usr/java/default/jre/bin/java -server -Xms2048m
    -Xmx2048m -Xss1m -XX:PermSize=128m -XX:MaxPermSize=256m -Xmn1999m -XX:+UseConcMarkSweepGC
    -XX:+UseCMSCompactAtFullCollection -XX:CMSMaxAbortablePrecleanTime=5000 -XX:+CMSParallelRemarkEnabled
    -XX:+CMSClassUnloadingEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=80 -verbose:gc
    -Xloggc:/alidata/www/logs/tomcat7/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:-HeapDumpOnOutOfMemoryError
    -XX:ErrorFile=/usr/share/tomcat7/logs/hs_err_pid%p.log -
  1. 执行free -m命令,查看容器内存不足。

3.2. 实施步骤

  1. 登录account-session-aliyun-com的容器,执行以下命令,备份tomcat7.conf配置文件。
    cp /usr/share/tomcat7/conf/tomcat7.conf /usr/share/tomcat7/conf/tomcat7.conf.bak
  1. 依次执行以下命令,修改Java的启动参数。
    export TERM=xterm
    sed -i s/Xms2048m/Xms1024m/g /usr/share/tomcat7/conf/tomcat7.conf
    sed -i /Xmn1999m/d /usr/share/tomcat7/conf/tomcat7.conf
  1. 执行以下命令,重启Tomcat服务。
    /etc/init.d/tomcat7 stop
    /etc/init.d/tomcat7 start
  1. 执行以下命令,查看Java的启动参数是否被修改。
    ps aux|grep java

3.3. 结果验证

  1. 登录天基控制台,查看AccountSessionAliyunCom#服务角色所在的机器,确认恢复正常。
  1. 登录account-session-aliyun-com容器,查看内存使用情况,确认恢复正常。

4. 回滚方案

  1. 进入account-session-aliyun-com容器,执行以下命令,还原配置文件。

    cp  /usr/share/tomcat7/conf/tomcat7.conf.bak /usr/share/tomcat7/conf/tomcat7.conf
  1. 执行以下命令,重启Tomcat服务。
    /etc/init.d/tomcat7 stop
    /etc/init.d/tomcat7 start