精华内容
下载资源
问答
  • LINUX查看JAVA进程的启动参数
    千次阅读
    2021-02-12 22:33:20

    问题说明

    为了分析和定位一个Java线上系统问题,我们需要查看JVM启动时的一些参数设置,例如:垃圾回收算法、堆大小等等。这些参数可能在启动脚本中明确指明,也可能采用默认值。在系统运行过程中其他人也许动态调整了系统参数。

    问题解决

    通过jps命令找对对应的进程号

    [root@swk-207 ~]# jps -lm |grep xk

    17743 /xxx/server/skynet/lib/skynet-cloud-xloader-2.1.0.1007.jar --skynet.action.jagent.file=/xxx/server/skynet/lib/jagent --skynet.action.boot.file=xk-process-1.1.1-SNAPSHOT-with-dependencies.jar --server.port=34969

    [root@swk-207 ~]#

    通过PS命令获取

    [root@swk-207 ~]# ps eww 7364

    PID TTY STAT TIME COMMAND

    7364 ? Sl 112:12 java -Dloader.path=/xxx/server/skynet/plugin/xk-proc/plugins -Djava.tmp.dir=/xxx/server/skynet/plugin/xk-proc/tmp -Djava.io.tmpdir=/xxx/server/skynet/plugin/xk-proc/tmp -Dfile.encoding=UTF-8 -Dxxx.dir.log=/xxx/server/skynet/plugin/xk-proc/logs -Dskynet.jagent.config.location.uri=http://10.5.3.207:6230/skynet/config/xk-proc&#

    更多相关内容
  • java命令启动参数-Xms -Xmx的问题

    万次阅读 2018-07-05 11:19:51
    启动命令如下:java -server -Xms128m -Xmx128m -jar xxxx.jartop命令显示如下: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 15332 root 17 0 555m 242m 11m S 0.0 1...

    启动命令如下:java -server -Xms128m -Xmx128m -jar xxxx.jar

    top命令显示如下:  PID   USER    PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

                              15332 root    17   0  555m 242m  11m S  0.0 12.1   1:46.95 java

    疑问:为什么VIRT和RES大于128m呢?难道-Xms -Xmx没起作用?

    解答:这两个参数只是限值Java程序的heap大小,如果你了解heapstack那么应该知道,一般来说只有运行时动态创建的对象才存在于heap中;

    $ java -X
        ...
        -Xms<size>        set initial Java `heap size`
        -Xmx<size>        set maximum Java `heap size`

        ...

    另外,通过top命令查看到的资源情况是针对整个Java进程的,JVM在执行你的Java代码时还需要载入整个Java Runtime,有自己的开销,这些都不包括在-Xms/-Xmx

    From Oracle's Documentation:

    Note that the JVM uses more memory than just the heap. For example
    Java methods, thread stacks and native handles are allocated in memory
    separate from the heap, as well as JVM internal data structures.
    借鉴地址
    java 虚拟机设置 Xms Xmx PermSize MaxPermSize
    JAVA8中不再有PermSize,替换为MetaspaceSize
    展开全文
  • java启动命令参数配置

    千次阅读 2020-11-02 11:51:39
    1. java启动命令 运行一个java应用程序的语法分两种,分别为: 执行类:java [-options] class [args…] 执行jar文件:java [-options] -jar jarfile [args…] 其中 [-options] 配置 JVM参数,[args…] 配置 Java ...

    1. java启动命令

    运行一个java应用程序的语法分两种,分别为:

    1. 执行类:java [-options] class [args…]
    2. 执行jar文件:java [-options] -jar jarfile [args…]

    其中 [-options] 配置 JVM参数,[args…] 配置 Java 运行参数

    2. 运行时参数

    其中args为运行时参数,即main方法中的参数数组args,可以通过修改启动配置进行设置,以idea为例,如图这里设置了3个参数,每个参数之间用空格分隔,如果参数自身带有空格,则需要用引号包裹。
    在这里插入图片描述
    在这里插入图片描述

    3. JVM参数

    标准参数

    标准参数,顾名思义,标准参数中包括功能以及输出的结果都是很稳定的,基本上不会随着JVM版本的变化而变化。
    我们可以通过 -help 命令来检索出所有标准参数。
    在这里插入图片描述
    预定义的标准参数(非-D开头的选项)的个数是有限的,。但是我们还可以自定义设置系统属性,其标准格式为:-Dargname=argvalue,多个参数之间用空格隔开,如果参数值中间有空格,则用引号括起来。

    我们在设置VM参数时不能随意设置,要么使用-Dargname=argvalue这种形式,要么使用预定义的标准参数,如-javaagent:xxxx,以及-classpath xxxx

    其中,参数名可以是 Java 默认的,此类参数由 JVM 虚拟机自动识别并生效,例如,-Dfile.encoding=UTF-8 用于指定文件编码格式;也可以是用户自定义的,例如,-Dmy=user,程序中可以读取该参数值,执行相关逻辑。

    虚拟机系统参数中设置的参数键值对(只有-D定义的系统属性是键值对形式),在程序中可以用 System.getProperty(“propertyName”) 获取对应参数值。

    /**
     * VM Args:-Dmy=user
     * 
     * @author moonspirit
     * @version 1.0
     */
    public class VMargs {
    
        public static void main(String[] args) {
            String result = System.getProperty("my");
            System.out.println("my: " + result);
        }
    }
    

    输出结果:

    在这里插入图片描述
    关于System.getProperty(“propertyName”)可参考另一文章

    参考文章:https://www.cnblogs.com/ysocean/p/11109018.html

    非标准参数(-X以及-XX)

    X参数

    对应前面讲的标准化参数,这是非标准化参数。表示在将来的JVM版本中可能会发生改变,但是这类以 -X开始的参数变化的比较小。

    我们可以通过 Java -X 命令来检索所有-X 参数。
    在这里插入图片描述

    XX参数

    这是我们日常开发中接触到最多的参数类型。这也是非标准化参数,相对来说不稳定,随着JVM版本的变化可能会发生变化,主要用于JVM调优和debug。

    注意:这种参数是我们后续介绍JVM调优讲解最多的参数。

    该参数的书写形式又分为两大类:
      
    ①、Boolean类型

    格式:-XX:[±] 表示启用或者禁用name属性。

    例子:-XX:+UseG1GC(表示启用G1垃圾收集器)
      
    ②、Key-Value类型

    格式:-XX:= 表示name的属性值为value。

    例子:-XX:MaxGCPauseMillis=500(表示设置GC的最大停顿时间是500ms)

    demo

    这是一个java程序启动时的启动参数信息,在格式上进行了一下分割

    在这里插入图片描述运行配置如下图
    在这里插入图片描述
    有些vm参数是idea在启动时的默认配置

    这里暂不介绍各参数用法,留待以后归纳

    展开全文
  • java 命令启动和Debug参数

    千次阅读 2018-06-05 16:48:39
    source /tmp/pfinder.sh || : export CATALINA_OPTS="${PFINDER_AGENT:-} ${CATALINA_OPTS}" export DEBUG="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=...

    curl -s "http://test.pfinder-master.jd.com/access/script" -o /tmp/pfinder.sh ; source /tmp/pfinder.sh || :
    export CATALINA_OPTS="${PFINDER_AGENT:-} ${CATALINA_OPTS}"
    export DEBUG="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9527"
    export JAVA_OPTS="$JAVA_OPTS $DEBUG"

    /export/servers/jdk1.8.0_20/bin/     

    -server -Xms128M -Xmx256M -Xss256K 

    -XX:PermSize=32M 

    -XX:MaxPermSize=32M 

    -XX:+UseAdaptiveSizePolicy 

    -XX:+UseParallelGC 

    -XX:+UseParallelOldGC 

    -XX:GCTimeRatio=39 

    -XX:+HeapDumpOnOutOfMemoryError

    -XX:ErrorFile=/export/home/tomcat/logs/loghub.360buy.com/jcollector/hs_err.log 

    -XX:HeapDumpPath=/export/home/tomcat/logs/loghub.360buy.com/jcollector/heap_dump.hprof 

    -classpath /export/servers/jcollector/conf:/export/servers/jcollector/lib/*: 

    -Dapp.name=jcollector 

    -Dapp.pid=72 

    -Dapp.repo=/export/servers/jcollector/lib 

    -Dbasedir=/export/servers/jcollector 

    com.mycom.log.collect.client.main.Client V3.0.6 2

    -----

    /export/servers/jdk1.8.0_20/bin/java 

    -Djava.util.logging.config.file=/export/Instances/kepler-king-worker/server1/conf/logging.properties

    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 

    -Djava.library.path=/usr/local/lib

    -server -Xms1024m -Xmx1024m -XX:MaxPermSize=256m -XX:+UnlockExperimentalVMOptions 

    -Djava.awt.headless=true 

    -Dsun.net.client.defaultConnectTimeout=60000 

    -Dsun.net.client.defaultReadTimeout=60000 

    -Djmagick.systemclassloader=no 

    -Dnetworkaddress.cache.ttl=300 

    -Dsun.net.inetaddr.ttl=300 

    -XX:+HeapDumpOnOutOfMemoryError 

    -XX:HeapDumpPath=/export/Instances/kepler-king-worker/server1/logs 

    -XX:ErrorFile=/export/Instances/kepler-king-worker/server1/logs/java_error_%p.log 

    -Djava.endorsed.dirs=/export/servers/tomcat8.0.30/endorsed 

    -classpath /export/servers/tomcat8.0.30/bin/bootstrap.jar:/export/servers/tomcat8.0.30/bin/tomcat-juli.jar -Dcatalina.base=/export/Instances/kepler-king-worker/server1 

    -Dcatalina.home=/export/servers/tomcat8.0.30 

    -Djava.io.tmpdir=/export/Instances/kepler-king-worker/server1/temp 

    org.apache.catalina.startup.Bootstrap 

    -config /export/Instances/kepler-king-worker/server1/conf/server.xml #Host 8001 1601端口

    start

    展开全文
  • Java自定义启动参数

    千次阅读 2019-09-15 11:19:18
    JAVA_OPTS=" - server -Xms1g -Xmx1g -Dhttp.proxyHost=192.168.1.101 -Dhttp.proxyPort=10111" 获取自定义参数: String 参数值 = System.getProperty("参数名") ; String host = System.getProperty(...
  • Java命令行启动设置JVM参数

    千次阅读 2021-05-26 17:53:02
    使用Java命令启动应用的时候适当的配置你的参数能有效提高系统的性能。 Xms:是指程序启动时初始内存大小(此值可以设置成与-Xmx相同,以避免每次GC完成后 JVM 内存重新分配)。 Xmx:指程序运行时最大可用内存...
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOME"bin"java –option 来启动,-option为虚拟机参数JAVA_HOME为JDK安装路径,通过这些参数可对虚拟机的运行状态...
  • java 启动命令 java -jar 如何追加参数

    千次阅读 2020-12-08 18:55:24
    jar包启动 后面覆盖或追加参数 配置端口号 java -jar xxx.jar --server.port=8081 指定环境 java -jar xxx.jar --spring.profiles.active=dev 多个参数 java -jar xxx.jar --server.port=8081 -spring.profiles....
  • idea为java程序添加启动参数

    千次阅读 2021-12-27 21:34:09
    java启动命令可选项顾名思义就是java启动参数,当你不加这个参数时 jvm会选择默认的配置进行启动。Java启动命令可选项(options)大致可分为标准和非标准两种,非标准的可选项不保证在所有平台上都实现,并且未来的...
  • 主类: 命令: 结果:
  • Java命令详解

    2018-07-26 08:08:20
    Java是通过java虚拟机来装载和执行编译文件(class文件)的,java虚拟机通过命令java option 来启动,-option为虚拟机参数,通过这些参数可对虚拟机的运行状态进行调整.  
  • Maven打包和Linux下java命令启动

    千次阅读 2019-11-06 14:17:32
    项目如果是多模块的,在mvn install后,记得cd 到你需要打包的那个目录后再运行打包命令,-P是参数,test是我的测试环境,根据你的实际环境名进行改变,一般dev开发环境,prod为生产环境。 mvn clean mvn install ...
  • java命令cp参数

    千次阅读 2018-12-05 10:47:35
    java1.6开始,cp参数支持通配符匹配jar文件。需要注意两点: 1、用引号&quot; 2、用*,而不是*.jar Windows: java -cp &quot;Test.jar;lib/*&quot; my.package.MainClass Linux: java -cp &quot...
  • 1、java启动exe程序 ,并添加传参 String[] cmd = {"hh.exe","12315"}; Process process = null; try { ProcessBuilder pb = new ProcessBuilder(); pb.command(cmd); ...
  • Java启动参数(-, -X, -XX参数)详解

    万次阅读 多人点赞 2020-08-12 15:14:15
    Java启动参数分类 一、JVM标准参数(-) 获取方法:java -help 二、JVM非标准参数(-X) 获取方法:java -X 三、JVM非Stable参数(-XX) 获取方法:java -XX:+PrintFlagsInitial JDK8的-XX参数整理 JDK8 获取所有-...
  • Java启动参数、调优及分析

    千次阅读 2019-05-29 10:40:51
    java启动参数共分为三类; 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;...
  • java命令启动spring jar包,指定编码

    千次阅读 2019-06-28 12:28:50
    java -Dfile.encoding=utf-8 -jar xxx.jar
  • java启动命令后面的参数一共可以分为3种 1.标准参数 2.x参数 3.xx参数 以x参数距离 输入命令 java -version 可以看到是混合模式 如果是 java -Xcomp -version 这个时候就是编译模式了 xx参数比较的多,功能也...
  • java命令启动jar包

    千次阅读 2016-12-19 16:53:00
    本人对这些命令也是一知半解,记录备用。 1. 使用java命令行执行java文件 # 设置命令窗口标题 title test1 # 开启输出 @echo on # 设置环境变量JAVA_HOME set JAVA_HOME=C:\Program Files\Java\jdk...
  • 使用java命令,直接启动main方法类,假设类名为Main.java,则命令为: java Main 如果main方法需要接受一些启动参数,则命令为: java Main [param1] [param2] [param2]... main方法启动时还有可能需要配置...
  • java -jar 启动参数

    万次阅读 2018-07-23 17:19:16
    1.-Dspring.profiles.active=dev 这个可以在spring-boot启动中指定系统变量,多环境(测试、预发、线上配置)的区分...这两个参数用于设置虚拟机使用何种运行模式,client模式启动比较快,但运行时性能和内存管理效率...
  • -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/logs/dump.bin -XX:+PrintGCDetails -XX:ErrorFile=/data/logs/dump-error.log
  • Java程序中打印java运行时参数

    万次阅读 2020-12-10 09:42:04
    Java程序中打印java运行时参数 本文是基于CentOS 7.3系统环境,进行java的学习和使用 CentOS 7.3 1. java运行时参数 Java程序在运行时,主要分为两大类参数,一类是JVM参数,一类是Java程序main函数的输入参数 ...
  • java启动参数详解

    千次阅读 2018-09-04 15:12:20
    java–jvm启动参数 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容; ...
  • java jar 命令行参数

    千次阅读 2021-02-12 21:53:46
    java jar 命令行参数Java 运行时环境在下面三个位置集中查找启动类和使用到的其它类:自举类路径、安装方式扩展和用户类路径。那么java命令行参数有哪些?下面yjbys小编为大家分享如下:一、运行class文件执行带main...
  • 2021新版idea为java程序添加启动参数

    万次阅读 2021-06-25 15:35:05
    1.找到edit Configuration 2.新建Application项目 3.勾选Add VM options VM option中写启动的环境变量 main class 写项目的启动类 别的空按需填写即可
  • java main方法中的命令行参数

    千次阅读 2021-02-25 19:01:47
    满意答案xiaozhuwlc推荐于 2017.09.29采纳率:50%等级:12已...java YourClassName 参数1 [参数2 参数3 ....]参数之间用一个空格作为间隔符.String[] args 这个字符串数组是保存运行main函数时输入的参数的,例如ma...
  • 如何修改jvm启动参数

    千次阅读 2021-02-28 12:02:13
    java命令查看。用java -option进行修改参数。还有tomcat,eclipse启动时通过配置文件加载的。详细如下:安装Java开发软件时,默认安装包含两个文件夹,一个JDK(Java开发工具箱),一个JRE(Java运行环境,内含JVM),...
  • jps(JVM Process Status Tool):JVM机进程状况工具用来查看基于HotSpot JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等。与unix上的ps类似,用来显示本地有权限的java进程,可以查看本地运行着几个java...
  • Java执行cmd命令传递带空格的参数

    千次阅读 2019-01-15 09:16:53
    项目中碰到在linux系统中执行cmd命令,由于参数中带有空格,导致命令不能正确执行。一开始以为是'<'和‘“’需要转义,但是转义过后依然不能正确执行,后来发现发生命令执行错误的原因是因为参数中自带空格,导致...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 326,994
精华内容 130,797
关键字:

java命令启动参数

java 订阅