当在Docker容器中运行时,高I / O Java进程始终在JavaThread中获得信号11 SIGSEGV-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

当在Docker容器中运行时,高I / O Java进程始终在JavaThread中获得信号11 SIGSEGV

2019-01-09 14:31:02 1937 1

有没有人能够使用不同的硬件和不同的JRE版本在JRE上一致地复制SIGSEGV?注意(可能很重要):我在Kubernetes上部署的Docker容器中运行该进程。

示例错误:

A fatal error has been detected by the Java Runtime Environment:

SIGSEGV (0xb) at pc=0x00007fea64dd9d01, pid=21, tid=0x00007fe8dfbfb700

JRE version: Java(TM) SE Runtime Environment (8.0_191-b12) (build 1.8.0_191-b12)

Java VM: Java HotSpot(TM) 64-Bit Server VM (25.191-b12 mixed mode linux-amd64 compressed oops)

Problematic frame:

J 8706 C2 com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextFieldName()Ljava/lang/String; (493 bytes) @ 0x00007fea64dd9d01 [0x00007fea64dd9b60+0x1a1]

我目前正在管理一个高I / O流程,其中包含许多执行I / O和序列化的线程:下载CSV和JSON,读取CSV,将JSON写入CSV,以及将CSV加载到MySQL中。在应用程序的运行周期中,我这样做了数千次。我只使用常用的库(Jackson,jOOQ)和“普通”代码:具体来说,我没有编写使用JNI的自定义代码。

没有失败,JVM将在每个运行周期中使用SIGSEGV。似乎SIGSERV在代码库的各个部分,但从来没有在GC线程或任何其他众所周知的线程。“有问题的框架”始终是编译代码。

测试规格:

AWS中的多个不同硬件实例。
使用Java 8 191和181进行测试.Ubuntu 16.04。
此过程在容器(Docker)中运行并部署在Kubernetes上。
Docker版本: 17.03.2-ce

取消 提交回答
全部回答(1)
  • k8s小能手
    2019-07-17 23:25:00

    Memory: 4k page, physical 33554432k(1020k free), swap 0k(0k free)
    在32 GB中,崩溃时只有1 MB是免费的。由于系统内存不足,很可能该进程被终止。我建议:

    显着减少堆大小。例如2 - 8 GB
    增加可用内存。例如4 - 16 GB
    添加一些交换空间。例如8 - 32 GB,这不能解决问题,但可以更优雅地处理完整内存。

    0 0
相关问答

4

回答

关于在阿里云上运行的docker

2014-12-11 10:27:39 5190浏览量 回答数 4

3

回答

关于在阿里云上运行的docker

2014-12-10 17:15:42 6865浏览量 回答数 3

1

回答

搞错了文件,导致docker容器启动不了,怎么才能删除错误文件??报错

2020-06-05 13:55:16 551浏览量 回答数 1

2

回答

如何让docker容器内部IP重复使用

2016-07-06 17:26:29 3378浏览量 回答数 2

2

回答

怎么查看docker容器占用的内存啊?

2016-06-28 10:54:24 14312浏览量 回答数 2

1

回答

Docker容器和宿主机时间不一致问题

2016-05-10 11:15:01 6736浏览量 回答数 1

1

回答

使用Docker容器的十大误区

2016-05-05 10:27:36 10737浏览量 回答数 1

1

回答

Docker计划将镜像迁移至Alpine Linux平台,简化容器运行环境

2016-04-28 10:28:37 8602浏览量 回答数 1

2

回答

"容器服务"是否支持 Docker Compose file "Version 2"

2016-03-22 16:19:32 3131浏览量 回答数 2

3

回答

centos7上的docker容器中访问不了外部网络和RDS?求解

2015-05-30 21:05:43 9794浏览量 回答数 3
+关注
k8s小能手
整合最优质的专家资源和技术资料,问答解疑
26
文章
620
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载