这两天,我们发现服务线路出现问题,堆内存进程异常,导致服务崩溃。然后我发现重启脚本限制了xms。=128M 我认为这很有趣,但事实并非如此。作为解决方案,我认为应该运行压力测试并同时监控jvm参数,看看该服务在1G下可以实现多少并发请求。2G、4G、8G内存。
我们的微服务是基于springcloud开发的,jar启动服务。要使用jconsole进行远程监控,只需在命令开头添加监控参数即可。
监控Java程序并添加启动参数
爪哇\
-Djava.rmi.server.hostname=xxxx.xx.xx.xx \
-Dcom.sun.management.jmxremote\
-Dcom.sun.management.jmxremote.port=1099 \
-Dcom.sun.management.jmxremote.authenticate=false \
由于启动参数太长,可以定义一个系统环境变量来指示将它们添加到/etc/profile的最后一行。
导入JAVA_OPTS='-Djava.rmi.server.hostname=xxxx.xx.xx.xx -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=假-Dcom.sun.management.jmxremote.ssl=假'
在这种情况下,source /etc/profile 是有效的文件。
首先,您可以使用nohup java $JAVA_OPTS -jar /root/app/iot-api-usercenter-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev nohup 21。
这个脚本。
JMX 端口为1099。
如果您没有设置服务器主机名-Djava.rmi.server.hostname,此时您可能无法连接。
通过在本地命令行输入jconsole 命令来启动该界面。
对于远程进程,输入主机名:端口号。
j控制台远程连接
jvm性能参数统计图
版权声明:本文转载于今日头条,版权归作者所有。如有侵权,请联系本站编辑删除。