代码之家  ›  专栏  ›  技术社区  ›  user3689186

为嵌入式流媒体设备选择JVM

  •  1
  • user3689186  · 技术社区  · 6 年前

    我们正在开发一种基本上是raspberry pi的设备,它可以读取文件数据,对其进行处理,并以给定的帧速率从USB设备中输出数据。

    现在我们正在使用HotSpot JVM,但我的理解是,它更适合大堆大小,我们的内存需求很少超过256mb,所以我想知道是否有一个更好的带有垃圾收集的VM可以让我们在Raspberry Pi上的暂停时间小于15ms?

    2 回复  |  直到 6 年前
        1
  •  2
  •   Speakjava    6 年前

    一个配置良好的G1收集器,其应用程序不会生成不断增加的长寿命对象,这将避免停止全球通用通信系统。但是,您的问题是,即使是较小的gc(通常非常快)也会导致不可接受的延迟。问题的一部分是Pi上内存总线的速度,这并不是很好。

    我们(Azul,我为他工作)生产了一个无停顿收集器(C4),但这是为拥有更多资源的机器设计的。它至少需要1Gb RAM,并使用多个内核与应用程序线程并发处理GC。

        2
  •  2
  •   user3689186    6 年前

    最终,我们决定,我们要奋力拼搏,让应用程序做一些它真正不是为之而构建的事情,或者至少,它不值得开发资源继续沿着这条路走下去。