相关疑难解决方法(0)

在 Linux 上使用 Java 应用程序的 OOM 杀手

我的 Java 应用程序在具有 500MB RAM 的 Linux 系统(版本 2.6.39.2)上有问题。我的应用程序每小时多占用 1-2MB 的常驻内存。应用程序启动时使用了 40MB 的常驻内存。15 天后,OOM-killer 杀死了我的应用程序(请参阅附加日志)。

更多信息:

  • 我没有为我的应用程序设置任何内存限制(没有 Xms、Xmx 等)。
  • 我在使用 396MB 的常驻内存时进行了堆转储,但是对于内存分析工具,我只使用了 7.8MB 的内存并且没有特殊的内存泄漏。

我该怎么做才能找到问题的根源或如何确保我的应用程序不会被终止?

在此先感谢您的帮助。此致。

编辑: 它是一个没有服务器的独立嵌入式应用程序。问题发生在机器上部署的应用程序上(难以安装分析工具),但不在我的开发 PC 上。


Jun  7 06:15:41 HMI user.warn kernel: java invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0
Jun  7 06:15:42 HMI user.warn kernel: Pid: 650, comm: java Not tainted 2.6.39.2 #7
Jun  7 06:15:42 HMI user.warn kernel: Call Trace:
Jun  7 06:15:42 HMI user.warn kernel:  [<c144c264>] ? printk+0xf/0x11
Jun  7 06:15:42 HMI user.warn kernel: …
Run Code Online (Sandbox Code Playgroud)

java linux out-of-memory

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×1

linux ×1

out-of-memory ×1