linux – Jenkins活跃(退出)

出于某种原因Jenkins一直停止工作,我必须重新启动jenkins服务才能让它再次运行.每次发生这种情况时,服务都是“活动(退出)”,但日志中没有任何内容.我使用的是Ubuntu 16.04.

root@laran:~# service jenkins status
    ● jenkins.service - LSB: Start Jenkins at boot time
       Loaded: loaded (/etc/init.d/jenkins; bad; vendor preset: enabled)
       Active: active (exited) since Sun 2017-03-05 06:09:46 EST; 6min ago
         Docs: man:systemd-sysv-generator(8)
      Process: 25459 ExecStop=/etc/init.d/jenkins stop (code=exited,status=0/SUCCESS)
      Process: 25477 ExecStart=/etc/init.d/jenkins start (code=exited,status=0/SUCCESS)

解决方法

可能是Linux内核的oom-killer(“内存不足杀手”)杀死了你的JVM.如果物理内存不再足以容纳所有进程,它会向选定的进程发送SIGKILL信号.检查包含字符串oom-killer的行的journalctl输出以确认.

只有在一段时间之后,凶手才会罢工是正常的.通常,Linux不会对进程请求的虚拟内存量施加限制(因此您的JVM可以轻松地在512 MiB系统上分配2 GiB的RAM).但是,如果进程实际开始使用已分配的内存(在您的情况下:使用的堆数量增加),则内核可能会发现物理内存量不再足够.这就是oom-killer将选择一个有希望的念念过程被杀死的地方.jenkins作为一个消耗大量内存的非系统进程,很有可能成为将被杀死的人.

你可以通过以下方式解决问题

>为系统添加更多物理内存>减少JVM内存设置(例如,更小的堆)

相关文章

在Linux系统中,设置ARP防火墙可以通过多种方法实现,包括使...
在Linux环境下,使用Jack2进行编译时,可以采取以下策略来提...
`getid`命令在Linux系统中用于获取当前进程的有效用户ID(EU...
在Linux环境下,codesign工具用于对代码进行签名,以确保其完...
Linux中的`tr`命令,其英文全称是“transform”,即转换的意...
Linux中的ARP防火墙是一种用于防止ARP欺骗攻击的安全措施,它...