-Xrsjava的简单介绍

博主:adminadmin 2023-01-08 10:42:08 936

今天给各位分享-Xrsjava的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

weblogic服务双网卡监听端口掉了

打开APP

ths512

关注

weblogic系列(三)weblogic启动之后ctrl+c退出时7001端口的服务挂掉问题 原创

2019-02-20 00:02:20

ths512

码龄7年

关注

因为天天都和weblogic打交道,想自己在搭建了个weblogic服务研究下,结果在启动服务后退出服务时,服务会挂掉,查找资料对该问题做下记录,以备有备无患!

1.weblogic与jdk的问

报错日志如截图

重点看前几行就好了,到网上一查发现应该是weblogic本身的问题,引用某文章的话:“当你的weblogic使用sun jvm时出现shutdown现象,是系统的一个不必要的操作,导致要关闭这个进程“。

而我的weblogic刚好使用的是sun jvm。

2,修改startWebLogic.sh 文件配置

确认你的weblogic使用的jdk是sun jdk还是JRockit jdk,然后需要在JAVA_OPTIONS加入以下参数

A sun jdk-加: -Djava.awt.headless=true -Xrs( -Djava.awt.headless=true可以不用)

              B JRockit jdk-加: -Xnohup

        所以找到 setdomainenv.sh,在文件的最后找到 JAVA_OPTIONS="${JAVA_OPTIONS}"改成JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.awt.headless=true -Xrs"或JAVA_OPTIONS="${JAVA_OPTIONS} -Xnohup "即可。

关于修改JAVA_OPTIONS其实在很多相启动时的配置文件都可以修改,以上是linux环境weblogic修改方案。

3,如何查看版本信息

关于如何确认jdk是sun还是JRockit,只需要执行java -version命令查看,如果显示类似如下则是sun jdk:

 

4,修改配置后重启服务ctrl+c后再无报错,控制也可以正常登陆

 

 

weblogic两种修改监听端口的方法

 

一 修改配置文件

我的电脑的位置是: E:\bea\user_projects\domains\testdomain\config\config.xml

打开文件搜索: listen-port语句:

server

nameAdminServer/name

ssl

enabledfalse/enabled

/ssl

listen-port7001/listen-port

listen-address/listen-address

/server

修改红色端口号后保存就可以了.

二 进入控制台进行修改(详见附件)

1 进入控制台:  

2 展开左边树菜单

     域结构-环境-服务器--点击AdminServer(管理)

3 点击左上角的锁定编辑按钮,在右边的AdminServer的设置下面修改:监听端口号

4 点击保存按钮

5 点击激活更改按钮(OK,完成)

javaa内存泄漏怎么回事

你的内存太了

java -Xms128m -Xmx512m

可以加大JAVA虚拟机的内存,默认是64M。最大可以调到1024M。

-Xms128m -Xmx512m(你可以设置在CATALINA_OPTS里)

参数的含义:

java -X

-Xmixed mixed mode execution (default)

-Xint interpreted mode execution only

-Xbootclasspath:directories and zip/jar files separated by ;

set search path for bootstrap classes and resources

-Xbootclasspath/a:directories and zip/jar files separated by ;

append to end of bootstrap class path

-Xbootclasspath/p:directories and zip/jar files separated by ;

prepend in front of bootstrap class path

-Xnoclassgc disable class garbage collection

-Xincgc enable incremental garbage collection

-Xloggc:file log GC status to a file with time stamps

-Xbatch disable background compilation

-Xmssize set initial Java heap size

-Xmxsize set maximum Java heap size

-Xsssize set java thread stack size

-Xprof output cpu profiling data

-Xrunhprof[:help]|[:option=value, ...]

perform JVMPI heap, cpu, or monitor profiling

-Xdebug enable remote debugging

-Xfuture enable strictest checks, anticipating future default

-Xrs reduce use of OS signals by Java/VM (see documentation)

-Xcheck:jni perform additional checks for JNI functions

java关于内存溢出求个大神给我远程看下 100分奉上 跪求 我求求。。971..223..003

java.lang.OutOfMemoryError: Java heap space

JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,

其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可

进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。

提示:在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。

提示:Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。

解决方法:手动设置Heap size

Linux下修改JVM内存大小:

要添加在tomcat 的bin 下catalina.sh 里,位置cygwin=false前 。注意引号要带上,红色的为新添加的.

# OS specific support. $var _must_ be set to either true or false.

JAVA_OPTS="-Xms512m -Xmn768 -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m"

cygwin=false

windows下修改JVM内存大小:

情况一:解压版本的Tomcat, 要通过startup.bat启动tomcat才能加载配置

要添加在tomcat 的bin 下catalina.bat 里

rem Guess CATALINA_HOME if not defined

set CURRENT_DIR=%cd%后面添加,红色的为新添加的.

set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true

情况二:安装版的Tomcat下没有catalina.bat

windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.

修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions

原值为

-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"

-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"

-Xrs

加入 -Xms300m -Xmx350m

重起tomcat服务,设置生效

jvm参数说明:

-server 一定要作为第一个参数,启用JDK的server版本,在多个CPU时性能佳

-Xms java Heap初始大小。 默认是物理内存的1/64。

-Xmx java heap最大值。建议均设为物理内存的80%。不可超过物理内存。

-Xmn java heap最小值,一般设置为Xmx的3、4分之一。

-XX:PermSize 设定内存的永久保存区初始大小,缺省值为64M。

-XX:MaxPermSize 设定内存的永久保存区最大大小,缺省值为64M。

-XX:SurvivorRatio=2 生还者池的大小,默认是2。如

-XX:NewSize 新生成的池的初始大小。 缺省值为2M。

-XX:MaxNewSize 新生成的池的最大大小。 缺省值为32M。

+XX:AggressiveHeap 让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。

-Xss 每个线程的Stack大小

-verbose:gc 现实垃圾收集信息

-Xloggc:gc.log 指定垃圾收集日志文件

-XX:+UseParNewGC 缩短minor收集的时间

-XX:+UseConcMarkSweepGC 缩短major收集的时间

-XX:userParNewGC 可用来设置并行收集(多CPU)

-XX:ParallelGCThreads 可用来增加并行度(多CPU)

-XX:UseParallelGC 设置后可以使用并行清除收集器(多CPU)

还不行就留下QQ,我帮你远程一下

如何调整java虚拟机内存大小

在一些规模稍大的应用中,Java虚拟机(JVM)的内存设置尤为重要,想在项目中取得好的效率,GC(垃圾回收)的设置是第一步。

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.Young

2.Old

3.Permanent

Young保存刚实例化的对象。当该区被填满时,GC会将对象移到Old区。Permanent区则负责保存反射对象,本文不讨论该区。

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%的剩余空间

经验之谈:

1.Server端JVM最好将-Xms和-Xmx设为相同值。为了优化GC,最好让-Xmn值约等于-Xmx的1/3。

2.一个GUI程序最好是每10到20秒间运行一次GC,每次在半秒之内完成。

注意:

1.增加Heap的大小虽然会降低GC的频率,但也增加了每次GC的时间。并且GC运行时,所有的用户线程将暂停,也就是GC期间,Java应用程序不做任何工作。

2.Heap大小并不决定进程的内存使用量。进程的内存使用量要大于-Xmx定义的值,因为Java为其他任务分配内存,例如每个线程的Stack等。

Stack的设定

每个线程都有他自己的Stack。

-Xss

每个线程的Stack大小

Stack的大小限制着线程的数量。如果Stack过大就好导致内存溢漏。-Xss参数决定Stack大小,例如-Xss1024K。如果Stack太小,也会导致Stack溢漏。

硬件环境

硬件环境也影响GC的效率,例如机器的种类,内存,swap空间,和CPU的数量。

如果你的程序需要频繁创建很多transient对象,会导致JVM频繁GC。这种情况你可以增加机器的内存,来减少Swap空间的使用。

4种GC

1、第一种为单线程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服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.解决办法:

修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions

原值为

-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"

-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"

-Xrs加入 -Xms300m -Xmx350m

重起tomcat服务,设置生效

weblogic启动jvm内存设置

在weblogic中,可以在startweblogic.cmd中对每个domain虚拟内存的大小进行设置,默认的设置是在commEnv.cmd里面。

JBoss

默认可以使用的内存为64MB

$JBOSSDIR$/bin/run.config

JAVA_OPTS = "-server -Xms128 -Xmx512"

Eclipse

在所在目录下,键入

eclipse.exe -vmargs -Xms256m -Xmx512m

256m表示JVM堆内存最小值

512m表示JVM堆内存最大

Websphere

进入控制台去设置:应用程序服务器 server1 进程定义 Java 虚拟机

关于-Xrsjava和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。