众所周知,Mendix的技术栈以Java为主,Java程序必须要运行在Java(Java Virtual Machine)虚拟机上。JVM是Java运行环境的一部分,用于Java程序的跨平台部署,应用的性能损耗和瓶颈也多与JVM有关。因此监控Mendix所在的JVM,及时调整运行时Runtime的相关参数就显得至关重要。
该类工具市面上有很多,今天来介绍一下Mendix自带AdoptOpenJDK的工具 jconsole。
jconsole能做到:
1.监控本地Mendix应用
2.监控远程Mendix应用
3.监控普通的JAVA程序
如何用jconsole进行监控
我们在安装Mendix Studio Pro的时候会自动的安装AdoptOpenJDK11
- 进入JDK的bin目录,找到jconsole.exe程序。如下图:
- 添加参数,启动Mendix程序
我们通过容器的方式快速创建启动一个Mendix应用,将以下内容添加到Mendix启动的java选项中:
javaopts:
[
"-Dfile.encoding=UTF-8",
"-Djava.io.tmpdir=BUILD_PATH/data/tmp",
"-XX:OnError=kill -s USR1 PYTHONPID",
"-XX:OnOutOfMemoryError=kill -s USR2 PYTHONPID",
"-XX:MaxPermSize=64M", "-Xmx128M", "-Xms128M",
"-Dcom.sun.management.jmxremote",
"-Dcom.sun.management.jmxremote.port=7845",
"-Dcom.sun.management.jmxremote.rmi.port=7845",
"-Dcom.sun.management.jmxremote.local.only=false",
"-Dcom.sun.management.jmxremote.authenticate=false",
"-Dcom.sun.management.jmxremote.ssl=false",
"-Djava.rmi.server.hostname=192.168.14.10"
- 当Mendix程序启动成功后,双击jconsole程序
- 开启
- 详细实时内存使用情况
- 实时的thread线程监控
- 实时的Mendix Runtime Bean对象的实时监控
- 实时的Mendix程序class类监控
利用jconsole,当发现程序运行过程中某些上述指标出现异常时,可快捷地排查故障,及时的做出响应,对Mendix运行时的参数进行调整。最常见的就是调整三个参数"-XX:MaxPermSize=64M", "-Xmx1024M", "-Xms1024M"。
更多信息,请访问以下链接:
Mendix官网:https://www.mendix.com/zh/
Mendix中国论坛:https://forum.mendix.tencent-cloud.com/
Mendix行业解决方案:https://solutions.mendix.com/
Mendix平台指南:https://www.mendix.com/evaluation-guide/
Mendix动画展示:https://www.mendix.com/demos/
谢谢阅读!