Articles of jvm

为什么JVM消耗的内存less于指定的-Xms?

我的问题是作为标题,我通过search获得了一些知识: linux有共享内存如何衡量应用程序或进程的实际内存使用情况? JVM将保留在Xms中设置的内存量-Xms JVM参考堆内存的含义是什么? 但是还是不知道为什么,有的可以提供一些帮助? 这是我在Ubuntu12.04(64bit)|上运行的testing JDK 1.7.0_04。 以及顶部显示如下: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4067 brian 20 0 5316m **262m** 7496 S 0 3.3 0:00.30 java -**Xms4096m** -Xmx4096m Test 4066 brian 20 0 3182m **256m** 7496 S 0 3.3 0:00.30 java -**Xms2048m** -Xmx2048m Test 4065 brian 20 0 […]

JVM在java.util.zip.ZipFile.getEntry中崩溃

以下日志文​​件导致JVM崩溃。 # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f60ddce2058, pid=117268, tid=140052313204480 # # JRE version: Java(TM) SE Runtime Environment (7.0_51-b13) (build 1.7.0_51-b13) # Java VM: Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [libzip.so+0x5058] ZIP_GetEntry+0x78 # […]

IcedTea 6和Sun的HotSpot的性能6

IcedTea 6的性能如何在Linux系统上与Sun自己的HotSpot相媲美? 我试着search谷歌,但Phoronix的testing是我得到的最好的,现在已经快一岁了。 从那以后,希望情况有所改善。 而且,一旦Sun完全开放了JVM的源代码,是否可以在Linux平台上实现它,这样主模块(Consumer JRE中的Quickstarter)就可以启动操作系统并加载最小的Java内核,而不pipe任何Java应用程序运行。 然后根据需要逐步加载其他模块。 可能会改善启动时间。

如何禁用Java堆栈帧优化或使用系统分析器的configuration文件堆栈?

系统分析器(如DTrace和Linux perf_events)可以从JVM中分析堆栈跟踪。 现在,除了符号之外(这是另一个问题),DTrace和perf_events都会收集很多只有1帧的堆栈。 这些是部分的,不完整的堆栈。 我已经尝试了DTrace jstack()和Linux的perf_events,同时指定了帧指针和矮栈解压。 我相信这是由于热点编译优化框架。 有没有办法禁用这种优化,以便标准系统configuration文件(如Solaris DTrace和Linux perf)的工作? 我已经尝试了以下选项:-XX:+ DeoptimizeRandom -XX:MaxInlineSize = 0 -XX:-OmitStackTraceInFastThrow -XX:+ UnlockDiagnosticVMOptions -XX:+ ShowHiddenFrames

在Ubuntu上运行SOAPUI时,JVM崩溃

我刚刚下载SOAPUI 4.0.1并试图在Ubuntu 11.10中运行它。 我运行文件soapui.sh。 应用程序启动,窗口实际上出现,但几秒钟后closures。 看着terminal,我看到JVM崩溃了。 以下是错误的详细信息: (process:4183): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.30.0/./gobject/gtype.c:2708: You forgot to call g_type_init() (process:4183): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed (process:4183): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed Problematic frame: C [libgconf-2.so.4+0x15b99] gconf_enum_to_string+0xd59 谁能帮忙? 谢谢。

在debian Jessie中安装Java 8

我试过用几种方法将Java 8安装到ARMembedded式Linux中,但是它们都没有工作: 首先: http : //www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html (来自webupd8的存储库) W:无法获取http://ppa.launchpad.net/webupd8team/java/ubuntu/dists/trusty/InRelease无法在发布文件中find期望的条目“main / binary-armel / Packages”(Wrong sources.list条目或格式错误的文件) W:未能findhttp://ppa.launchpad.net/webupd8team/java/ubuntu/dists/jessie/main/binary-armel/Packages 404找不到 E:一些索引文件无法下载。 他们被忽略了,或者旧的被使用。 看来这个回购没有我的架构来源: 体系结构:amd64 arm64 armhf i386 powerpc ppc64el 我需要armel(至less这是为java 7工作) 我也试过这种方式: http : //www.rpiblog.com/2014/03/installing-oracle-jdk-8-on-raspberry-pi.html 从Oracle下载jdk,然后按照说明进行操作。 但我不能执行该文件: root @ arietta:〜#java -version -bash:/ usr / bin / java:没有这样的文件或目录 也不是: root @ arietta:〜#/opt/jdk1.8.0_71/bin/java -version -bash:/ usr / bin / java:没有这样的文件或目录 虽然文件存在,并有正确的权限 …我要疯了.. […]

我如何知道我的服务器是否有NUMA?

跳过Java垃圾收集,我遇到了NUMA的JVM设置 。 奇怪的是我想检查我的CentOS服务器是否具有NUMAfunction。 有没有一个* ix命令或实用程序可以获取这些信息?

如何debuggingLinux上的本地Java崩溃?

我已经看到了这个问题和这篇文章如何debugging本机的Java崩溃。 这篇文章是关于Windows的。 什么是在Linux上等价的debugging帮助? 注意:我拥有的是来自该字段中的用户的这个崩溃日志。 我无法访问发生崩溃的机器。 更新 :我敢肯定,崩溃是由于我们有JNI代码。 我从来没有想过暗示这是JVM本身的错误。 每个请求,这里是崩溃转储(或尽可能适合30K计算器的限制): ##Java运行时环境检测到意外错误:##SIGSEGV(0xb)在pc = 0x06300e76,pid = 9983,tid = 4106996592##Java VM:Java HotSpot(TM)客户端VM(1.6.0_03-b05混合模式,共享)#有问题的框架:#V [libjvm.so + 0x300e76]##如果您想提交错误报告,请访问:#http://java.sun.com/webapps/bugreport/crash.jsp #————— THREAD —————当前线程(0x0922e000):VMThread [id = 9985] siginfo:si_signo = 11, si_errno = 0,si_code = 1,si_addr = 0x00000008寄存器:EAX = 0x00000008,EBX = 0x88a829b3,ECX = 0x88a829b0,EDX = 0xa7d6c1dc ESP = 0xf4cbba5c,EBP = 0xf4cbba68,ESI = 0xa7d6d1d8,EDI = 0x00000404 EIP […]

如何redirectJVM输出而不撕裂应用程序的输出?

最近我正在编写一些微基准代码,所以我必须打印出JVM行为以及基准信息。 我用 -XX:+PrintCompilation -XX:+PrintGCDetails 和其他选项来获得JVM状态。 对于基准信息,我只是使用System.out.print()方法。 因为我需要知道我打印的消息和JVM输出的顺序。 当我在控制台中打印出来的时候,我可以得到很好的结果,虽然JVM输出有时会撕掉我的消息,但由于它们在不同的线程中,这是可以理解的和可以接受的。 当我需要做一些批处理基准testing时,我想用pipe (> in Linux system) redirect the output into a file pipe (> in Linux system) ,并使用python从文件中获得结果并分析它。 这是问题: The JVM output always overlapped with the messages I printed in the Java application. 它毁了消息的完成。 任何想法如何处理这种情况? 我需要both the JVM output and application output in the same place in order […]

任何有关树莓派的Java经验?

是否有可能运行平均java应用程序服务器上的树莓pi上的例如jboss或glassfish服务器? 任何限制? 有没有人有Java开发的覆盆子pi的经验? 至less任何适合RPi的JVM都会很好。