linux中jvm内存不够怎么解决?

问题描述

ErroroccurredduringinitializationofVMCouldnotreserveenoughspaceforobjectheapCouldnotcreatetheJavavirtualmachine.在安装spark时总是出现上述问题(ubuntu14.04系统),在网上搜了好久也没有解决,搭个spark从jdk8一路装到jdk6,还是出问题,java真是让我精疲力尽啊。

解决方案

解决方案二:
加大JVM启动时的内存java-Xmx1g-Xms1gapplication-Xmx1g设置最大可用内存为1g-Xms1g设置内存初始化最小值1g
解决方案三:
引用1楼Inhibitory的回复:

加大JVM启动时的内存java-Xmx1g-Xms1gapplication-Xmx1g设置最大可用内存为1g-Xms1g设置内存初始化最小值1g

Exceptioninthread"main"java.lang.NoClassDefFoundError:applicationCausedby:java.lang.ClassNotFoundException:applicationatjava.net.URLClassLoader$1.run(URLClassLoader.java:202)atjava.security.AccessController.doPrivileged(NativeMethod)atjava.net.URLClassLoader.findClass(URLClassLoader.java:190)atjava.lang.ClassLoader.loadClass(ClassLoader.java:306)atsun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)atjava.lang.ClassLoader.loadClass(ClassLoader.java:247)Couldnotfindthemainclass:application.Programwillexit.
解决方案四:
[InvalidUTF-8][InvalidUTF-8][InvalidUTF-8]
解决方案五:
引用2楼lihongli201107的回复:

Quote: 引用1楼Inhibitory的回复:
加大JVM启动时的内存java-Xmx1g-Xms1gapplication-Xmx1g设置最大可用内存为1g-Xms1g设置内存初始化最小值1g

Exceptioninthread"main"java.lang.NoClassDefFoundError:applicationCausedby:java.lang.ClassNotFoundException:applicationatjava.net.URLClassLoader$1.run(URLClassLoader.java:202)atjava.security.AccessController.doPrivileged(NativeMethod)atjava.net.URLClassLoader.findClass(URLClassLoader.java:190)atjava.lang.ClassLoader.loadClass(ClassLoader.java:306)atsun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)atjava.lang.ClassLoader.loadClass(ClassLoader.java:247)Couldnotfindthemainclass:application.Programwillexit.

没找到main方法..
解决方案六:
没找到main方法是环境变量的问题吗,用的是java6.

时间: 2024-10-10 13:45:27

linux中jvm内存不够怎么解决?的相关文章

全面认识Eclipse中JVM内存设置(转)

    这里向大家描述一下Eclipse中如何进行JVM内存设置,JVM主要管理两种类型的内存:堆和非堆.简单来说堆就是Java代码可及的内存,是留给开发人员使用的:非堆就是JVM留给自己用的,所以方法区.JVM内部处理或优化所需的内存(如JIT编译后的代码缓存).每个类结构(如运行时常数池.字段和方法数据)以及方法和构造方法的代码都在非堆内存中. Eclipse中JVM内存设置 eclipse.ini内存设置 -vmargs-Xms128M-Xmx512M-XX:PermSize=64M-XX

【翻译】linux中cgroups内存控制子系统memory.oom_control文件

翻译自:redhat文档的部分内容. 新linux内核cgroup的memory子系统提供memory.oom_control来开关cgroup中oom killer,并且提供了消息接口. memory.oom_control 包含一个标志(0或1)来开启或者关闭cgroup的OOM killer.如果开启(1),任务如果尝试申请内存超过允许,就会被系统OOM killer终止.OOM killer在每个使用cgroup内存子系统中都是默认开启的.如果需要关闭,则可以向memory.oom_co

linux-限制Linux中的内存使用大小

问题描述 限制Linux中的内存使用大小 服务器安装的是8GB的内存条,我只想让所有的进程只使用4GB来做测试,如何让另外的是4GB空闲? 解决方案 限制单个站点内存使用大小linux 下 限制 mongodb 内存占用 解决方案二: 内存不就是用的吗,难道放哪儿不用?那你用8G的内存和用4G内存还有什么区别 解决方案三: 什么环境要说清楚吧???

解析Linux系统中JVM内存2GB上限的详解_java

我们通常使用的JVM都是32位的(64位的JVM会损失10-20%的性能,通常不建议使用),而32位程序的寻址空间应该是4GB才对,为什么Linux上的JVM内存只能使用2GB呢? 经过和JDK研发组的人员沟通,终于弄清楚了一些相关的原因.这个问题存在于早期的一些Linux版本中,特别是内核2.5以前的版本,2.6以后的版本就基本上没有这个问题了.原来这些Linux版本对进程有个对内存2GB的限制,是一个地址连续的内存块大小的上限,而JVM的堆空间(heap size)需要连续的地址空间,因此,

jvm内存溢出解决方法(jvm内存溢出怎么解决)_java

java.lang.OutOfMemoryError: PermGen space 发现很多人把问题归因于: spring,hibernate,tomcat,因为他们动态产生类,导致JVM中的permanent heap溢出 .然后解决方法众说纷纭,有人说升级 tomcat版本到最新甚至干脆不用tomcat.还有人怀疑spring的问题,在spring论坛上讨论很激烈,因为spring在AOP时使用CBLIB会动态产生很多类. 但问题是为什么这些王牌的开源会出现同一个问题呢,那么是不是更基础的原

Eclipse中JVM内存设置

eclipse.ini内存设置 -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 这里有几个问题: 1. 各个参数的含义什么? 2. 为什么有的机器我将-Xmx和-XX:MaxPermSize都设置为512M之后Eclipse可以启动,而有些机器无法启动? 3. 为何将上面的参数写入到eclipse.ini文件Eclipse没有执行对应的设置? 下面我们一一进行回答 1. 各个参数的含义什么? 参数中-vmargs的意

Tomcat中JVM内存溢出及合理配置

Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识进行详细介绍. 一.Java JVM内存介绍 JVM管理两种类型的内存,堆和非堆.按照官方的说法:"Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时创建的.""在JVM中堆之外的内存称为非堆内存(Non-heap

Linux中共享内存及内存映射技术研究

Linux给我们提供了丰富的内部进程通信机制,包括共享内存.内存映射文件.先入先出(FIFO).接口(sockets)以及多种用于同步的标识.在本文中,我们主要讨论一下共享内存和内存映射文件技术. 一般来说,内部进程通信(interprocess communication)也就是IPC,是指两个或两个以上进程以及两个或者两个以上线程之间进行通信联系.每个IPC机制都有不同的强项或者弱点,不过没有一个IPC机制包含内建的同步方法.因此程序员不但需要自己在程序中实现同步,而且还需要为了利用IPC机

free:一个在Linux中检查内存使用情况的标准命令

我们都知道, IT 基础设施方面的大多数服务器(包括世界顶级的超级计算机)都运行在 Linux 平台上,因为和其他操作系统相比, Linux 更加灵活.有的操作系统对于一些微乎其微的改动和补丁更新都需要重启,但是 Linux 不需要,只有对于一些关键补丁的更新, Linux 才会需要重启. Linux 系统管理员面临的一大挑战是如何在没有任何停机时间的情况下维护系统的良好运行.管理内存使用是 Linux 管理员又一个具有挑战性的任务.free 是 Linux 中一个标准的并且被广泛使用的命令,它