当前位置: 首页 > 知识库问答 >
问题:

java - 有个springboot服务,运行一段时间后服务器ssh都连不上了,这会是什么原因导致的?

晏树
2023-06-20

运行一段时间服务占内存会很大

在本地telnet服务端口都不通

telnet 127.0.0.1 8082

重启服务之后问题会消失,但是运行一段时间又会重现

共有2个答案

王子明
2023-06-20

telnet端口不通,大概率是服务停止了,这时候可以使用ps命令检查进程是否还活着,大概率进程已经不在了,然后检查服务日志,oom一般都会有日志输出错误信息。

至于你说的占内存很大,这个具体的数值是多少,java服务的内存分配是在启动的时候通过xmx,xms,xss这些jvm参数进行配置的,java进程占用内存是有上限的,是可配置的,到达了上限,就会因为内存不足而停止程序。
可以观测一下系统可用的内存,java配置的内存,实际占用的内存这些数值,可以简单的用top/free命令观测下内存变化,或者使用jmap展开具体的堆栈情况,寻找主要的占用代码。

以上是比较基本的检查java运行和jvm相关的思路,具体的命令可以百度一下,包括jvm各种线上参数,都可以了解一下,对于java程序员来说,比较重要,写代码只是一部分,能用才是最重要的。

至于ssh连不上,因为ssh命令是系统级别的独立进程,默认是22端口,原则上和其他进程没有关系,比如java程序,如果真的是ssh连接不上,那可能和你的程序没啥关系,更多可能是操作系统或者硬件有问题,我遇到过机房温控失灵,夏天一升温,服务器就挂了
当然也不排除你的程序涉及了很多底层操作或者就是内存分配不合理,导致直接做掉了操作系统

窦宏旷
2023-06-20

服务有内存泄漏?

 类似资料:
  • 服务器由原来的物理主机换成了虚拟机。 服务器如果放在机房里面自己维护,是有一定的概率出现硬盘损坏的情况,或者其他硬件原因导致的服务器宕机或者断电。这个时候如果有主备服务器自动切换,是可以降低影响。 服务器上云之后,云服务商会保证虚拟机的高可用,即时底层的硬件服务器出问题,虚拟机也能通过热迁移到其他可用的物理机上,据说中断只有ms级别,可以说影响其实相当小。 是不是可以说,服务器上云后,服务器主备的

  • 我正在尝试使用2个jar文件在Eclipse中运行TomcatV9.0服务器: taglibs-standard-impl-1.2.5.jar taglibs-standard-spec-1.2.5.jar 但我总是遇到这样的错误消息:“localhost的服务器TomcatV9.0服务器未能启动。”而错误日志表明它是由 我仔细检查了我的jar文件路径,发现它们与项目的其余部分在正确的位置: C:

  • 问题内容: 我想创建一个服务,该服务会在10秒钟后反复运行一种方法,直到我将其停止为止,即使该应用已关闭也是如此。我的尝试代码如下 这就是我启动服务的方式。 该程序立即停止运行;如何更改代码以获得所需的行为? 问题答案: 创建一个广播接收器,在接收到来自以下站点的广播后,它将启动您的服务: 当您启动应用程序时,第一次启动广播接收器: 还将其添加到清单文件中: 如果您希望在资源可用时立即由Andro

  • 下面的消息表明JBoss没有启动299个服务中的59个。为什么呢? INFO[org.jboss.as](控制器引导线程)JBAS015874:jboss EAP 6.3.0。GA(AS 7.4.0.Final-redhat-19)启动时间为10290ms,启动299个服务中的261个(59个服务为惰性、被动或按需)

  • Grpc服务器似乎是使用Netty实现的。是否有使用其他实现的方法?

  • 我试图使用Maven作为服务器在Tomcat8上运行。我对这两个是新手,所以我有一个示例文件,我没有做,应该打印‘欢迎’。但是,我收到这个错误 请求的资源不可用。 提前致谢:)