




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
我来帮他解答 优化MySQL,你的内存有512m,但是还有130m剩余,但是同时你的SWAP却用了184M,我的建议是修改mysql配置文件,优化缓存大小和连接数连接方式,优化你的sql语句我记得mysql好像是有工具可以查看最占用资源的sql语句,找到他,优化他。如果优化后你的主机负载还是很高,建议升级硬件。主要是升内存和用更快的磁盘整阵列。如果升级硬件还是不行,建议搭建mysql同步集群,分散访问压力。Java内存占用过高JAVA虚拟机和Tomcat虚拟机内存大小java虚拟机的内存是否够用。如果不够用要同时增加java虚拟机的内存。如何增加java虚拟机可以使用的最大内存(2006-11-05 16:24:18) 转载标签: 杂谈分类: 计算机与 Internet java虚拟机可使用的最大内存是有限制的,缺省值通常为64MB或128MB。如果一个应用程序为了提高性能而把数据加载内存中而占用较大的内存,比如超过了默认的最大值128MB,需要加大java虚拟机可使用的最大内存,否则会出现Out of Memory(系统内存不足)的异常。启动java时,需要使用如下两个参数:-Xms java虚拟机初始化时使用的内存大小-Xmx java虚拟机可以使用的最大内存以上两个参数中设置的size,可以带单位,例如:256m表示256MB举例说明:java -Xms128m -Xmx256m 表示java虚拟机初始化时使用的内存为128MB,可使用的最大内存为256MB。对于tomcat,可以修改其脚本catalina.sh(unix平台)或catalina.bat(windows平台),设置变量JAVA_OPTS即可,例如:JAVA_OPTS=-Xms128m -Xmx256mJava如何增大虚拟机内存:很可能是因为循环的问题导致jvm虚拟内存不够导致的溢出。一般指定jvm运行的虚拟内存都是在诸如tomcat或者weblogic之类的中间件或者eclipse或者jboss之类的东西,但是楼主的是一个jar,我推荐这样做,新建一个文件,命名为XX.bat,里面写java -jar -Xms128m -Xmx128m XX.jar,双击bat文件即可执行jar,如果你需要定时运行这个jar也很容易,将bat加入到计划任务中即可。在使用Eclipse的过程中,有时会遇到使用Java虚拟机内存不够的情况,这时Eclipse就会提示你重启,我们可以通过设定Eclipse启动参数来调节使用Java虚拟机内存。 右键点击Eclipse的快捷方式,选择属性,在目标的Text里加上 -vmargs -Xmx192M ,设定初始化使用Java虚拟机最大内存为192M,也可以设定为其他值。 -Xmx 这个参数是设定使用的最大内存 -Xms 这个参数是设定使用的最小内存 两个参数可以同时使用,也可单独使用。/app/tomcat-5.0.12/bin/catalina.shLinux 和 Windows修改Java虚拟机内存大小因为内存溢出问题1. Linux下直接修改%tomcat_home%/bin/catalina.sh文件在注释下紧接一行也就是脚本正文开始之前 加上JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m如果报-x没有定义,则用declare -x JAVA_OPTS=-Xms512m -Xmx1024初始值和最大值自己根据实际情况可以更改.2. Windows下通过Tomcat下直接启动可以直接修改%tomcat_home%/bin/catalina.bat文件在JAVA_OPTS修改set JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m3. 如果是通过Myeclipse启动Tomcat修改Myeclipse配置选项 打开选项.输入tomcat关键字,然后点开Server下面的JDK就会出现配置区域.直接加入 -Xms128m -Xmx512m 4.如果 是通过service.msc里的Tomcat服务启动Tomcat则需要修改注册表HKEY_LOCAL_MACHINESOFTWAREApache Software Foundation Tomcat Service ManagerTomcat6ParametersJavaOptions原值为-Dcatalina.home=”C:ApacheGroupTomcat 6.0-Djava.endorsed.dirs=”C:ApacheGroupTomcat 6.0commonendorsed”-Xrs加入 -Xms300m -Xmx512mLinux 和 windows修改java虚拟机内存大小2012-05-24 09:20:28|分类: 默认分类 |标签: |字号大中小订阅 因为内存溢出问题1. Linux下直接修改%tomcat_home%/bin/catalina.sh文件在注释下紧接一行也就是脚本正文开始之前 加上JAVA_OPTS=-Xms128m -Xmx512m如果报-x没有定义,则用declare -x JAVA_OPTS=-Xms512m -Xmx1024初始值和最大值自己根据实际情况可以更改.2. Windows下通过Tomcat下直接启动可以直接修改%tomcat_home%/bin/catalina.bat文件在JAVA_OPTS修改set JAVA_OPTS=-Xms128m -Xmx512m或set JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m3. 如果是通过Myeclipse启动Tomcat修改Myeclipse配置选项 打开选项.输入tomcat关键字,然后点开Server下面的JDK就会出现配置区域.直接加入 -Xms128m -Xmx512m4.如果 是通过service.msc里的Tomcat服务启动Tomcat则需要修改注册表HKEY_LOCAL_MACHINESOFTWAREApache Software Foundation Tomcat Service ManagerTomcat6ParametersJavaOptions原值为-Dcatalina.home=”C:ApacheGroupTomcat 6.0-Djava.endorsed.dirs=”C:ApacheGroupTomcat 6.0commonendorsed”-Xrs加入 -Xms300m -Xmx512m2012-02-06 15:10 【转】java虚拟机的内存设置JVM虚拟机内存大小设置原理及各J2EE服务器JVM参数 本文标签: 线程内存参数使用量设置基本概念:PermGen space:全称是Permanent Generation space.就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域Heap space:存放Instance。GC(Garbage Collection)应该不会对PermGen space进行清理所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误Java Heap分为3个区1.Young2.Old3.PermanentYoung保存刚实例化的对象。当该区被填满时,GC会将对象移到Old区。Permanent区则负责保存反射对象,本文不讨论该区。java Xms128m /JVM占用最小内存 Xmx512m /JVM占用最大内存 XX:PermSize=64m /最小堆大小 XX:MaxPermSize=128m /最大堆大小JVM的Heap分配可以使用-X参数设定,-Xms 初始Heap大小-Xmx java heap最大值-Xmn young generation的heap大小 JVM有2个GC线程第一个线程负责回收Heap的Young区第二个线程在Heap不足时,遍历Heap,将Young 区升级为Older区 Older区的大小等于-Xmx减去-Xmn,不能将-Xms的值设的过大,因为第二个线程被迫运行会降低JVM的性能。为什么一些程序频繁发生GC? 有如下原因:1.程序内调用了System.gc()或Runtime.gc()。2.一些中间件软件调用自己的GC方法,此时需要设置参数禁止这些GC。3.Java的Heap太小,一般默认的Heap值都很小。4.频繁实例化对象,Release对象 此时尽量保存并重用对象,例如使用StringBuffer()和String()。 如果你发现每次GC后,Heap的剩余空间会是总空间的50%,这表示你的Heap处于健康状态许多Server端的Java程序每次GC后最好能有65%的剩余空间经验之谈:1Server端JVM最好将-Xms和-Xmx设为相同值。为了优化GC,最好让-Xmn值约等于-Xmx的1/3。2一个GUI程序最好是每10到20秒间运行一次GC,每次在半秒之内完成。注意:1增加Heap的大小虽然会降低GC的频率,但也增加了每次GC的时间。并且GC运行时,所有的用户线程将暂停,也就是GC期间,Java应用程序不做任何工作。2Heap大小并不决定进程的内存使用量。进程的内存使用量要大于-Xmx定义的值,因为Java为其他任务分配内存,例如每个线程的Stack等。Stack的设定每个线程都有他自己的Stack。-Xss 每个线程的Stack大小 Stack的大小限制着线程的数量。如果Stack过大就好导致内存溢漏。-Xss参数决定Stack大小,例如-Xss1024K。如果Stack太小,也会导致Stack溢漏。硬件环境硬件环境也影响GC的效率,例如机器的种类,内存,swap空间,和CPU的数量。如果你的程序需要频繁创建很多transient对象,会导致JVM频繁GC。这种情况你可以增加机器的内存,来减少Swap空间的使用。4种GC1、第一种为单线程GC,也是默认的GC,该GC适用于单CPU机器。2、第二种为Throughput GC,是多线程的GC,适用于多CPU,使用大量线程的程序。第二种GC与第一种GC相似,不同在于GC在收集Young区是多线程的,但在Old区和第一种一样,仍然采用单线程。-XX:+UseParallelGC参数启动该GC。3、第三种为Concurrent Low Pause GC,类似于第一种,适用于多CPU,并要求缩短因GC造成程序停滞的时间。这种GC可以在Old区的回收同时,运行应用程序。-XX:+UseConcMarkSweepGC参数启动该GC。4、第四种为Incremental Low Pause GC,适用于要求缩短因GC造成程序停滞的时间。这种GC可以在Young区回收的同时,回收一部分Old区对象。-Xincgc参数启动该GC。单文件的jvm内存进行设置默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.lang.OutOfMemoryError。设置jvm内存的方法,对于单独的.class,可以用下面的方法对Test运行时的jvm内存进行设置。java -Xms64m -Xmx256m Test-Xms是设置内存初始化的大小-Xmx是设置最大能够使用内存的大小(最好不要超过物理内存大小)tomcat启动jvm内存设置Linux:在/usr/local/apache-tomcat-5.5.23/bin目录下的catalina.sh添加:JAVA_OPTS=-Xms512m -Xmx1024m要加“m”说明是MB,否则就是KB了,在启动tomcat时会报内存不足。-Xms:初始值-Xmx:最大值-Xmn:最小值Windows在catalina.bat最前面加入set JAVA_OPTS=-Xms128m -Xmx350m 如果用startup.bat启动tomcat,OK设置生效.够成功的分配200M内存.但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了,就是说set JAVA_OPTS=-Xms128m -Xmx350m 没起作用.上面分配200M内存就OOM了.windows服务执行的是bintomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.解决办法:修改注册表HKEY_LOCAL_MACHINESOFTWAREApache Software FoundationTomcat Service ManagerTomcat5ParametersJavaOptions原值为-Dcatalina.home=C:ApacheGroupTomcat 5.0-Djava.endorsed.dirs=C:ApacheGroupTomcat 5.0commonendorsed-Xrs加入 -Xms300m -Xmx350m 重起tomcat服务,设置生效weblogic启动jvm内存设置在weblogic中,可以在startweblogic.cmd中对每个domain虚拟内存的大小进行设置,默认的设置是在commEnv.cmd里面。JBoss默认可以使用的内存为64MB $JBOSSDIR$/bin/run.config JAVA_OPTS = -server -Xms128 -Xmx512eclipse 在所在目录下,键入 eclipse.exe -vmargs -Xms256m -Xmx512m 256m表示JVM堆内存最小值 512m表示JVM堆内存最大Websphere 进入控制台去设置:应用程序服务器 server1 进程定义 Java 虚拟机 最近做毕设时,遇到了一点小问题。在解析dblp.xml文件时(该文件很大,最新版本为977MB),老是报错: java.lang.OutOfMemoryError: Java heap space 最后通过查资料才知道,这是由于JVM堆内存不足造成的。JVM在启动动的时候一般会设置JVM Heap的值。 其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。在JVM中如果98%的时间是用于GC,且可用的Heap size 不足2%的时候将抛出此异常信息。出现这种问题可以通过修改JVM heap大小解决。 如: java -Xms64M -Xmx512M className 以上设置JVM初始化堆内存为64M,最大可用堆内存为512M. (1)在命令行中设置的方法就如上面所述。 (2)在Eclipse中可以这样设置: 在eclipse的 Run-Run Configurations-Arguments下的VM Arguments中设置: -Xms64M -Xmx512M 另外可以使用 java -X查看其它JVM参数情况: D:workjava X设置TOMCAT的JVM虚拟机内存大小Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java虚拟机。JAVA程序启动时JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms-Xmx来调整应用程序的初始内存和最大内存。这两个值的大小一般根据需要进行设置。初始化堆的大小执行了虚拟机在启动时向系统申请的内存的大小。一般而言,这个参数不重要。但是有的应用程序在大负载的情况下会急剧地占用更多的内存,此时这个参数就是显得非常重要,如果虚拟机启动时设置使用的内存比较小而在这种情况下有许多对象进行初始化,虚拟机就必须重复地增加内存来满足使用。由于这种原因,我们一般把-Xms和-Xmx设为一样大,而堆的最大值受限于系统使用的物理内存。一般使用数据量较大的应用程序会使用持久对象,内存使用有可能迅速地增长。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。有以下几种方法可以选用:第一种方法:Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置:JAVA_OPTS=-Xms【初始化内存大小】-Xmx【可以使用的最大内存】需要把这个两个参数值调大。例如:JAVA_OPTS=-Xms256m-Xmx512m表示初始化内存为256MB,可以使用的最大内存为512MB。第二种方法:环境变量中设变量名:JAVA_OPTS变量值:-Xms512m-Xmx512m第三种方法:前两种方法针对的是bin目录下有catalina.bat的情况(比如直接解压的Tomcat等),但是有些安装版的Tomcat下没有catalina.bat,这个时候可以采用如下方法,当然这个方法也是最通用的方法:打开tomcatHome/bin/tomcat5w.exe,点击Java选项卡,然后将会发现其中有这么两项:Initialmemorypool和Maximummemorypool.Initialmemorypool这个就是初始化设置的内存的大小。Maximummemorypool这个是最大内存的大小设置完了就按确定然后再重启TOMCAT你就会发现tomcat中jvm可用的内存改变了。另外需要考虑的是Java提供的垃圾回收机制。虚拟机的堆大小决定了虚拟机花费在收集垃圾上的时间和频度。收集垃圾可以接受的速度与应用有关,应该通过分析实际的垃圾收集的时间和频率来调整。如果堆的大小很大,那么完全垃圾收集就会很慢,但是频度会降低。如果你把堆的大小和内存的需要一致,完全收集就很快,但是会更加频繁。调整堆大小的的目的是最小化垃圾收集的时间,以在特定的时间内最大化处理客户的请求。在基准测试的时候,为保证最好的性能,要把堆的大小设大,保证垃圾收集不在整个基准测试的过程中出现。如果系统花费很多的时间收集垃圾,请减小堆大小。一次完全的垃圾收集应该不超过3-5秒。如果垃圾收集成为瓶颈,那么需要指定代的大小,检查垃圾收集的详细输出,研究垃圾收集参数对性能的影响。一般说来,你应该使用物理内存的80%作为堆大小。当增加处理器时,记得增加内存,因为分配可以并行进行,而垃圾收集不是并行的。一个要注意的地方:建议把内存的最高值跟最低值的差值缩小,不然会浪费很多内存的,最低值加大,最高值可以随便设,但是要根据实际的物理内存,如果内存设置太大了,比如设置了512M最大内存,但如果没有512M可用内存,Tomcat就不能启动,还有可能存在内存被系统回收,终止进程的情况。eclipse设置java虚拟机内存大小(2012-09-10 15:22:55) 转载标签: it分类: 计算机 方法一:打开eclipse,选择Window-Preferences.在对话框左边的树上双击Java,再双击Installed JREs,在右边选择前面有对勾的JRE,再单击右边的“Edit”按钮,出现一个 Edit JRE 的对话框,在其中的Default VM Arguments: 框中输入 -Xms128m -Xmx512m ,这样设置Java拟虚机内存使用最小是128M,最大是512M,再单击“OK”关闭 Edit JRE 对话框,再单击“OK”关闭 Preferences对话框,Eclipse一下子就运行快了起来方法二:java project 可以右击工程 Run AS -选最下面Run.-Arguments-在VM arguments里面填 -Xmx256m。这样就可以设置它运行时最大内存为256m方法三:eclipse.ini-showsplashorg.eclipse.platform-launcher.XXMaxPermSize128M-vmargs-Xms40m-Xmx512m-XX:MaxPermSize=256m-Dosgi.bundlefile.limit=100linux下如何安装软件CBSi中国PChome 责编: uker编辑2 2007-09-06 在Windows下安装软件时,只需用鼠标双击软件的安装程序,或者用Zip等解压缩软件解压缩即可安装。在Linux下安装软件对初学者来说,难度高于Windows下软件安装。下面我就详细讲解Linux下如何安装软件。 先来看看Linux软件扩展名。软件后缀为.rpm最初是Red Hat Linux提供的一种包封装格式,现在许多Linux发行版本都使用;后缀为.deb是Debain Linux提供的一种包封装格式;后缀为.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系统打包工具tar打包的;后缀为.bin的一般是一些商业软件。通过扩展名可以了解软件格式,进而了解软件安装。 RPM格式软件包的安装 1.简介几乎所有的Linux发行版本都使用某种形式的软件包管理安装、更新和卸载软件。与直接从源代码安装相比,软件包管理易于安装和卸载;易于更新已安装的软件包;易于保护配置文件;易于跟踪已安装文件。 RPM全称是Red Hat Package Manager(Red Hat包管理器)。RPM本质上就是一个包,包含可以立即在特定机器体系结构上安装和运行的Linux软件。RPM示意图:准备-安装前脚本- 2进制文件-2进制文件- - 2进制文件-2进制文件-安装后脚本大多数Linux RPM软件包的命名有一定的规律,它遵循名称-版本-修正版-类型MYsoftware-1.2 -1.i386.rpm 。 2.安装RPM包软件 #rpm -ivh MYsoftware-1.2 -1.i386.rpm RPM命令主要参数: -i 安装软件。-t 测试安装,不是真的安装。 -p 显示安装进度。-f 忽略任何错误。-U 升级安装。-v 检测套件是否正确安装。这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。 3.卸载软件 #rpm -e 软件名 需要说明的是,上面代码中使用的是软件名,而不是软件包名。例如,要卸载software-1.2.-1.i386.rpm这个包时,应执行:#rpm -e software需要说明的是,上面代码中使用的是软件名,而不是软件包名。例如,要卸载software-1.2.-1.i386.rpm这个包时,应执行:#rpm -e software 4.强行卸载RPM包有时除去一个RPM是不行的,尤其是系统上有别的程序依赖于它的时候。如果执行命令会显示如下错误信息: #rpm -e xsnowerror: removing these packages would break dependencies:/usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1在这种情况下,可以用-force选项重新安装xsnow: #rpm -ivh -force xsnow-1.41-1.i386.rpmxsnow这里推荐使用工具软件Kleandisk,用它可以安全彻底清理掉不再使用的RPM包。5.安装.src.rpm类型的文件目前RPM有两种模式,一种是已经过编码的(i386.rpm),一种是未经编码的(src.rpm)。rpm -rebuild Filename.src.rpm 这时系统会建立一个文件Filenamr.rpm,在/usr/src/redflag/RPMS/子目录下,一般是i386,具体情况和Linux发行版本有关。然后执行下面代码即可:rpm -ivh /usr/src/regflag/RPMS/i386/Filename.rpm 使用deb打包的软件安装 deb是Debian Linux提供的一个包管理器,它与RPM十分类似。但由于RPM出现得早,并且应用广泛,所以在各种版本的Linux中都常见到,而Debian的包管理器dpkg只出现在Debina Linux中。它的优点是不用被严格的依赖性检查所困扰,缺点是只在Debian Linux发行版中才能见到这个包管理工具。 1. 安装#dpkg -i MYsoftware-1.2.-1.deb 2. 卸载#dpkg -e MYsoftware 使用源代码进行软件安装 和RPM安装方式相比,使用源代码进行软件安装会复杂一些,但是用源代码安装软件是Linux下进行软件安装的重要手段,也是运行Linux的最主要的优势之一。使用源代码安装软件,能按照用户的需要选择定制的安装方式进行安装,而不是仅仅依靠那些在安装包中的预配置的参数选择安装。另外,仍然有一些软件程序只能从源代码处进行安装。 现在有很多地方都提供源代码包,到底在什么地方获得取决于软件的特殊需要。对于那些使用比较普遍的软件,如Sendmail,可以从商业网站处下载源代码软件包(如 )。一般的软件包,可从开发者的Web站点下载。下面介绍一下安装步骤: 1.解压数据包源代码软件通常以.tar.gz做为扩展名,也有tar.Z、tar.bz2或.tgz为扩展名的。不同扩展名解压缩命令也不相同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论