zoukankan      html  css  js  c++  java
  • JVM Server与Client运行模式

     

      JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升.原因是:

      当虚拟机运行在-client模式的时候,使用的是一个代号为C1的轻量级编译器, 而-server模式启动的虚拟机采用相对重量级,代号为C2的编译器. C2比C1编译器编译的相对彻底,,服务起来之后,性能更高.

      java -version 可以直接查看出你使用的是client还是 server

    client

        C:Documents and SettingsAdministrator>java -version  
        java version "1.6.0_21"  
        Java(TM) SE Runtime Environment (build 1.6.0_21-b06)  
        Java HotSpot(TM) Client VM (build 17.0-b16, mixed mode, sharing)  

    server

        [root@kaifa02 ~]# java -version  
        java version "1.6.0_06"  
        Java(TM) SE Runtime Environment (build 1.6.0_06-b02)  
        Java HotSpot(TM) Server VM (build 10.0-b22, mixed mode)  

      两种模式的切换可以通过更改配置(jvm.cfg配置文件)来实现:

      32位的虚拟机在目录JAVA_HOME/jre/lib/i386/jvm.cfg,

      64位的在JAVA_HOME/jre/lib/amd64/jvm.cfg, 目前64位只支持server模式, 配置内容大致如下

        -server KNOWN  
        -client KNOWN  
        -hotspot ALIASED_TO -client  
        -classic WARN  
        -native ERROR  
        -green ERROR  

      当JVM用于启动GUI界面的交互应用时适合于使用client模式,当JVM用于运行服务器后台程序时建议用Server模式。 
       
      JVM在client模式默认-Xms是1M,-Xmx是64M;JVM在Server模式默认-Xms是128M,-Xmx是1024M。我们可以通过运行:java -version来查看jvm默认工作在什么模式

    示例

    nohup java -Xloggc:jvm.log -server -Xms1000m -Xmn800m -Xmx1000m -XX:MaxPermSize=512m -classpath $CLASSPATH com.com... >>log.log &

    -Xms 
      设置虚拟机可用内存堆的初始大小,缺省单位为字节,该大小为1024的整数倍并且要大于1MB,可用k(K)或m(M)为单位来设置较大的内存数。初始堆大小为2MB。

      例如:-Xms6400K,-Xms256M

    -Xmx

      设置虚拟机内存堆的最大可用大小,缺省单位为字节。该值必须为1024整数倍,并且要大于2MB。可用k(K)或m(M)为单位来设置较大的内存数。缺省堆最大值为64MB。

      例如:-Xmx81920K,-Xmx80M

    -Xloggc:

      将虚拟机每次垃圾回收的信息写到日志文件中,文件名由file指定,文件格式是平文件,内容和-verbose:gc输出内容相同。

    -client,-server

      这两个参数用于设置虚拟机使用何种运行模式,client模式启动比较快,但运行时性能和内存管理效率不如server模式,通常用于客户端应用程序。相反,server模式启动比client慢,但可获得更高的运行性能。

      在 windows上,缺省的虚拟机类型为client模式,如果要使用server模式,就需要在启动虚拟机时加-server参数,以获得更高性能,对服 务器端应用,推荐采用server模式,尤其是多个CPU的系统。在Linux,Solaris上缺省采用server模式。

  • 相关阅读:
    ISCC 2018——write up
    图的存储结构(十字链表、邻接多重表、边集数组)
    图的存储结构
    树梅派(Raspberry Pi 3b)安装kali linux 2.0
    树梅派3B kali2.0 启用SSH进行远程登录
    VS+VAssistX自动添加注释
    libtiff库使用
    word采用尾注进行参考文献排版的一些问题
    vs2008安装opencv2.4.6
    Altera CYCLONE III FPGA BGA布线
  • 原文地址:https://www.cnblogs.com/shoshana-kong/p/11290345.html
Copyright © 2011-2022 走看看