gpt4 book ai didi

java - 堆空间 - 内存管理

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:45:20 24 4
gpt4 key购买 nike

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

我正在使用这个 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:GenuineIntel
  • CPU 系列:6
  • 模特:42
  • 步进:2
  • CPU 频率:2294.472
  • BogoMIPS:4588.94
  • 管理程序供应商:VMware
  • 虚拟化类型:完整
  • 一级缓存:32K
  • 一级缓存:32K
  • 二级缓存:256K
  • 三级缓存:15360K
  • NUMA node0 CPU:0-3

  • Linux 版本 3.0.101-0.21-default (geeko@buildhost)(gcc 版本 4.3.4 [gcc-4_3-分支修订版 152973] (SUSE Linux))#1 SMP 4 月 7 日星期一 12:32: 42 协调世界时 2014 (172cdff)

  • Java 版本:1.5.0_22 x64
  • DB4O 版本:6.1

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

最佳答案

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

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

关于java - 堆空间 - 内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37838055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com