我们有一个应用程序,它每天一次使用整个分配的堆内存。
我对堆空间进行了内存转储,以帮助我找到此问题的原因,该问题可在此链接https://drive.google.com/file/d/0BwMd9KDnQRfQT3dzRTZfUWdjMU0/view?usp=sharing上找到。
我认为该应用程序实现不佳,或者可能与DB4O技术有关,它的对象在客户端和服务器之间发送,或者在用户在其系统和服务器之间同步数据后向服务器打开的连接。
该服务未提供错误:内存不足:堆空间,但是我按照您的资源分配说明了这一点。

我正在使用此Shell脚本启动应用程序...

set +x

export BRANCHOFFICE_HOME=/bat/orquestra/branchoffice/live18
cd ${BRANCHOFFICE_HOME}
echo BRANCHOFFICE_HOME = ${BRANCHOFFICE_HOME}

# classpath
OQT_CLASSPATH=${BRANCHOFFICE_HOME}/classes/:${BRANCHOFFICE_HOME}/classes/branchoffice.jar

for libFile in ${BRANCHOFFICE_HOME}/lib/*.jar
do
  OQT_CLASSPATH=${OQT_CLASSPATH}:${libFile}
done

export OQT_CLASSPATH
echo OQT_CLASSPATH = ${OQT_CLASSPATH}

# JVM arguments
JAVA_ARGS=-server
JAVA_ARGS=${JAVA_ARGS}" -Xms2048m"
JAVA_ARGS=${JAVA_ARGS}" -Xmx2048m"
JAVA_ARGS=${JAVA_ARGS}" -XX:+UseLargePages"
JAVA_ARGS=${JAVA_ARGS}" -Duser.timezone=America/Sao_Paulo"
JAVA_ARGS=${JAVA_ARGS}" -Duser.country=BR"
JAVA_ARGS=${JAVA_ARGS}" -Duser.language=pt"
JAVA_ARGS=${JAVA_ARGS}" -cp "${OQT_CLASSPATH}
JAVA_ARGS=${JAVA_ARGS}" -Dcom.sun.management.jmxremote=synchengine.SynchEngine"
JAVA_ARGS=${JAVA_ARGS}" -Dcom.sun.management.jmxremote.port=1207"
JAVA_ARGS=${JAVA_ARGS}" -Dcom.sun.management.jmxremote.password.file="${BRANCHOFFICE_HOME}"/config/passwordFile"
JAVA_ARGS=${JAVA_ARGS}" -Dcom.sun.management.jmxremote.access.file="${BRANCHOFFICE_HOME}"/config/accessFile"
JAVA_ARGS=${JAVA_ARGS}" -Dcom.sun.management.snmp.acl.file="${BRANCHOFFICE_HOME}"/config/acl"
JAVA_ARGS=${JAVA_ARGS}" -Dcom.sun.management.jmxremote.ssl=false"
export JAVA_ARGS
echo JAVA_ARGS = ${JAVA_ARGS}

# APP arguments
export APP_ARGS=${BRANCHOFFICE_HOME}/config/SynchEngine.xml
echo APP_ARGS = ${APP_ARGS}

echo Starting Synchronization Engine

我想要任何提示或支持,因为该应用程序非常大。

服务器...
  • 体系结构:x86_64
  • CPU操作模式:32位,64位
  • 字节顺序:小尾数
  • CPU:4
  • 在线CPU列表:0-3
  • 每个核心的线程:1个
  • 每个插槽的核心数:1
  • 插槽:4
  • NUMA个节点:1个
  • 供应商ID:正版英特尔
  • CPU系列:6
  • 型号:42
  • 步进:2
  • CPU MHz:2294.472
  • BogoMIPS:4588.94
  • 虚拟机管理程序供应商:VMware
  • 虚拟化类型:完整
  • L1d缓存:32K
  • L1i缓存:32K
  • L2高速缓存:256K
  • L3缓存:15360K
  • NUMA节点0个CPU:0-3
  • Linux版本3.0.101-0.21-default(geeko @ buildhost)(gcc版本4.3.4 [gcc-4_3-branch版本152973](SUSE Linux))#1 SMP Mon Apr 7 12:32:42 UTC 2014(172cdff )
  • Java版本:1.5.0_22 x64
  • DB4O版本:6.1

  • 需要我提供的更多信息,感谢任何可以提供帮助的人。

    最佳答案

    看起来您需要关闭套接字连接。

    查看转储,您的套接字连接永远不会关闭,从而分配了不必要的内存。

    10-07 19:21
    查看更多