精华内容
下载资源
问答
  • Java虚拟机内存参数设置

    万次阅读 2018-08-28 21:10:23
    堆分配参数总结: -Xms:表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可 -Xmx:表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小。但是开发过程...

    堆分配参数总结:

    • -Xms:表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可
    • -Xmx:表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小。但是开发过程中,通常会将 -Xms 与 -Xmx两个参数的配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源。

             一般来讲对于堆区的内存分配只需要对上述两个参数进行合理配置即可。

    • -XX:MinHeapFreeRatio:设置堆空间的最小空间比例。当堆空间的空闲内存小于这个数值时,jvm便会扩展堆空间。
    • -XX:MaxHeapFreeRatio:设置堆空间的最大空间比例。当堆空间的空闲内存大于这个数值时,jvm便会缩小堆空间。
    • XX:NewSize : 设置新生代的大小
    • XX:NewRatio:设置老年代与新生代的比例,即老年代除以新生代大小
    • XX:SurviorRatio:新生代中eden区与survivior 区的比例
    • -XX:PermSize:设置永久区的大小
    • -XX:TargetSurvivorRatio:设置survivior 的使用率。当达到这个空间使用率时,会将对象送入老年代。

     

    方法区参数配置

    • -XX:PermSize:表示非堆区初始内存分配大小,其缩写为permanent size(持久化内存)
    • -XX:MaxPermSize:表示对非堆区分配的内存的最大上限

     

    栈的容量配置

    • -Xss:设置线程栈的大小

     

    本机直接内存设置

    • -XX:MaxDirectMemorySize :指定本机直接内存大小,如果不指定就表示和Java堆最大值(-Xmx)相同

     

    例子:

         -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m

    上面设置的参数就是堆初始化128M,最大堆内存是512M;方法区初始化分配内存128M,方法区最大上限是512M。

    展开全文
  • java 内存参数设置

    千次阅读 2019-04-17 13:08:10
    JVM按照其存储数据的内容将所需内存分配为堆区与非堆区两...第一组配置参数:-Xms 、-Xmx、-XX:newSize、-XX:MaxnewSize、-Xmn 1、-Xms :表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/6...

    JVM按照其存储数据的内容将所需内存分配为堆区与非堆区两个部分:所谓堆区即为通过new的方式创建的对象(类实例)所占用的内存空间;非堆区即为代码、常量、外部访问(如文件访问流所占资源)等。

    第一组配置参数:-Xms 、-Xmx、-XX:newSize、-XX:MaxnewSize、-Xmn
        1、-Xms :表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可,但仍需按照实际情况进行分配。有可能真的按照这样的一个规则分配时,设计出的软件还没有能够运行得起来就挂了。
        2、-Xmx: 表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小。但是开发过程中,通常会将 -Xms 与 -Xmx两个参数的配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源。


        一般来讲对于堆区的内存分配只需要对上述两个参数进行合理配置即可,但是如果想要进行更加精细的分配还可以对堆区内存进一步的细化,那就要用到下面的三个参数了-XX:newSize、-XX:MaxnewSize、-Xmn。当然这源于对堆区的进一步细化分:新生代、中生代、老生代。java中每新new一个对象所占用的内存空间就是新生代的空间,当java垃圾回收机制对堆区进行资源回收后,那些新生代中没有被回收的资源将被转移到中生代,中生代的被转移到老生代。而接下来要讲述的三个参数是用来控制新生代内存大小的。

     

        1、-XX:newSize:表示新生代初始内存的大小,应该小于 -Xms的值;
        2、-XX:MaxnewSize:表示新生代可被分配的内存的最大上限;当然这个值应该小于 -Xmx的值;
        3、-Xmn:至于这个参数则是对 -XX:newSize、-XX:MaxnewSize两个参数的同时配置,也就是说如果通过-Xmn来配置新生代的内存大小,那么-XX:newSize = -XX:MaxnewSize = -Xmn,虽然会很方便,但需要注意的是这个参数是在JDK1.4版本以后才使用的。

    永生代:

     1、-XX:PermSize:表示非堆区初始内存分配大小,其缩写为permanent size(持久化内存)
     2、-XX:MaxPermSize:表示对非堆区分配的内存的最大上限。

        这里面非常要注意的一点是:在配置之前一定要慎重的考虑一下自身软件所需要的非堆区内存大小,因为此处内存是不会被java垃圾回收机制进行处理的地方。并且更加要注意的是 最大堆内存与最大非堆内存的和绝对不能够超出操作系统的可用内存。

    -XX:+HeapDumpOnOutOfMemoryError 发生内存溢出的时候,可以dump出当前的内存堆栈转存为快照,一遍时事后分析

    展开全文
  • Oracle 的内存参数配置

    千次阅读 2019-08-05 13:32:16
    1 Oracle内存分配 主要分SGA和PGA ,一般情况下,应该保持: SGA + PGA = 系统内存的70% ; SGA :PGA分配 = 80% : 20% 。 对于目前机器内存比较大的情况,大部分在32G或以上。...

    1 Oracle内存分配

      主要分SGA和PGA ,一般情况下,应该保持:

                                           SGA  + PGA = 系统内存的70% ;

                                            SGA :PGA分配 = 80% : 20% 。

       对于目前机器内存比较大的情况,大部分在32G或以上。以32G内存服务器为例,一般建议SGA 内存为系统总内存的50%(16G);而 PGA 为 4G (根据部分项目点析实际情况, 3G 即可 )。

       对于PGA的使用,可以通过脚本查询推荐配置:

    select round(p.pga_target_for_estimate/(1024*1024)) "Target(M)", 
           p.estd_pga_cache_hit_percentage "Est.Cache Hit %", 
           round(p.estd_extra_bytes_rw/(1024*1024)) "Est_Readwrite(M)", 
           p.estd_overalloc_count "Est.Over-Alloc"
    from v$pga_target_advice p

     

     

     上例中,可以看到超过 2083 后,命中率 100,额外 IO 读写不再增加。 关于此表的详细说明,可以查找相关资料。

     

    2 SGA 内存分配

    • db_cache_size 缓冲区高速缓存:Database Buffer Cache 用于缓存从数据文件中检索出来的数据块,可以大大提高查询和更新数据的性能。一般建议为总内存的 30%,即 SGA 内存总数的 60%,如上例,建议 10G;
    • shared_pool_size 共享池:Shared Pool 用于缓存最近被执行的 SQL 语句和最近被使用的数据定义,主要包括:Library cache(共享 SQL 区)和 Data dictionary cache(数据字典缓冲区)。  共享 SQL 区是存放用户 SQL 命令的区域,数据字典缓冲区存放数据库运行的动态信息。pl/sql 语法分析.加大可提速度,一般建议为可用内存的 10%,本例建议 2G.
    • java_pool_size  Java 池 :系统使用不多,为 Java 命令的语法分析提供服务 本例建议512M,参V$JAVA_POOL_ADVICE
    • streams_pool_size:不常用,是为了增加对流的支持(10g 开始支持),本例建议 512M,参考 V$STREAMS_POOL_ADVICE

     

    3 数据库执行快照设置

    select * from dba_hist_wr_control

     exec sys.dbms_workload_repository.modify_snapshot_settings
      (interval=>60,retention=>12*24*60);
    展开全文
  • JVM常用内存参数配置

    万次阅读 多人点赞 2017-11-08 09:55:22
    一、 常用参数  -Xms   JVM启动时申请的初始Heap值,默认为操作系统物理内存的1/64但小于1G。默认当空余堆内存大于70%时,JVM会减小heap的大小到-Xms指定的大小,可通过-XX:MaxHeapFreeRation=来指定这个比列。...

    一、    常用参数

      -Xms 

      JVM启动时申请的初始Heap值,默认为操作系统物理内存的1/64但小于1G。默认当空余堆内存大于70%时,JVM会减小heap的大小到-Xms指定的大小,可通过-XX:MaxHeapFreeRation=来指定这个比列。Server端JVM最好将-Xms和-Xmx设为相同值,避免每次垃圾回收完成后JVM重新分配内存;开发测试机JVM可以保留默认值。(例如:-Xms4g)

      -Xmx 

      JVM可申请的最大Heap值,默认值为物理内存的1/4但小于1G,默认当空余堆内存小于40%时,JVM会增大Heap到-Xmx指定的大小,可通过-XX:MinHeapFreeRation=来指定这个比列。最佳设值应该视物理内存大小及计算机内其他内存开销而定。(例如:-Xmx4g)

      -Xmn 

      Java Heap Young区大小。整个堆大小=年轻代大小 + 年老代大小 + 持久代大小(相对于HotSpot 类型的虚拟机来说)。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。(例如:-Xmn2g)

      程序新创建的对象都是从年轻代分配内存,年轻代由Eden Space和两块相同大小的SurvivorSpace(通常又称S0和S1或From和To)构成,可通过-Xmn参数来指定年轻代的大小,也可以通过-XX:SurvivorRation来调整Eden Space及SurvivorSpace的大小

      

      老年代用于存放经过多次新生代GC仍然存活的对象,例如缓存对象,新建的对象也有可能直接进入老年代,主要有两种情况:1、大对象,可通过启动参数设置-XX:PretenureSizeThreshold=1024(单位为字节,默认为0)来代表超过多大时就不在新生代分配,而是直接在老年代分配。2、大的数组对象,且数组中无引用外部对象。老年代所占的内存大小为-Xmx对应的值减去-Xmn对应的值。如果在堆中没有内存完成实例分配,并且堆也无法再扩展时,将会抛出OutOfMemoryError异常。

      -Xss 

      Java每个线程的Stack大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。根据应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。(例如:-Xss1024K)

      -XX:PermSize

      持久代(方法区)的初始内存大小。(例如:-XX:PermSize=64m)

      -XX:MaxPermSize

      持久代(方法区)的最大内存大小。(例如:-XX:MaxPermSize=512m)

      -XX:+UseSerialGC

      串行(SerialGC)是jvm的默认GC方式,一般适用于小型应用和单处理器,算法比较简单,GC效率也较高,但可能会给应用带来停顿

      -XX:+UseParallelGC

      并行(ParallelGC)是指多个线程并行执行GC,一般适用于多处理器系统中,可以提高GC的效率,但算法复杂,系统消耗较大。(配合使用:-XX:ParallelGCThreads=8,并行收集器的线程数,此值最好配置与处理器数目相等)

      -XX:+UseParNewGC

      设置年轻代为并行收集,JKD5.0以上,JVM会根据系统配置自行设置,所以无需设置此值。

      -XX:+UseParallelOldGC

      设置年老代为并行收集,JKD6.0出现的参数选项。

      -XX:+UseConcMarkSweepGC

      并发(ConcMarkSweepGC)是指GC运行时,对应用程序运行几乎没有影响(也会造成停顿,不过很小而已),GC和app两者的线程在并发执行,这样可以最大限度不影响app的运行。

      -XX:+UseCMSCompactAtFullCollection

      在Full GC的时候,对老年代进行压缩整理。因为CMS是不会移动内存的,因此非常容易产生内存碎片。因此增加这个参数就可以在FullGC后对内存进行压缩整理,消除内存碎片。当然这个操作也有一定缺点,就是会增加CPU开销与GC时间,所以可以通过-XX:CMSFullGCsBeforeCompaction=3 这个参数来控制多少次Full GC以后进行一次碎片整理。

      -XX:+CMSInitiatingOccupancyFraction=80

      代表老年代使用空间达到80%后,就进行Full GC。CMS收集器在进行垃圾收集时,和应用程序一起工作,所以,不能等到老年代几乎完全被填满了再进行收集,这样会影响并发的应用线程的空间使用,从而再次触发不必要的Full GC。

      -XX:+MaxTenuringThreshold=10

      垃圾的最大年龄,代表对象在Survivor区经过10次复制以后才进入老年代。如果设置为0,则年轻代对象不经过Survivor区,直接进入老年代。


    二、   分类

      JVM启动参数共分为三类:

      1、标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容。例如:-verbose:class(输出jvm载入类的相关信息,当jvm报告说找不到类或者类冲突时可此进行诊断);-verbose:gc(输出每次GC的相关情况);-verbose:jni(输出native方法调用的相关情况,一般用于诊断jni调用错误信息)。

      2、非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容。例如:-Xms512m;-Xmx512m;-Xmn200m;-Xss128k;-Xloggc:file(与-verbose:gc功能类似,只是将每次GC事件的相关情况记录到一个文件中,文件的位置最好在本地,以避免网络的潜在问题。若与verbose命令同时出现在命令行中,则以-Xloggc为准)。

      3、非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用。例如:-XX:PermSize=64m;-XX:MaxPermSize=512m。

    三、    引用

      主要介绍JVM内存参数的详细配置,与GC策略(原:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html)。

      不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同(主要cup个数,内存不同),所以使用的GC种类也会不同(如何选择见GC种类及如何选择)。本文将注重介绍JVM、GC的一些重要参数的设置来提高系统的性能。  JVM内存组成及GC相关内容请见之前的文章:JVM内存组成 GC策略&内存申请。JVM参数的含义实例见实例分析如下:

      

      并行收集器相关参数:


      CMS相关参数:


      辅助信息:


      3.1 GC性能方面的考虑

      对于GC的性能主要有2个方面的指标:吞吐量throughput(工作时间不算gc的时间占总的时间比)和暂停pause(gc发生时app对外显示的无法响应)。

      1、Total Heap,默认情况下,vm会增加/减少heap大小以维持free space在整个vm中占的比例,这个比例由MinHeapFreeRatio和MaxHeapFreeRatio指定。一般而言,server端的app会有以下规则:对vm分配尽可能多的memory;将Xms和Xmx设为一样的值。如果虚拟机启动时设置使用的内存比较小,这个时候又需要初始化很多对象,虚拟机就必须重复地增加内存。处理器核数增加,内存也跟着增大。

      2、The Young Generation,另外一个对于app流畅性运行影响的因素是young generation的大小。younggeneration越大,minor collection越少;但是在固定heap size情况下,更大的young generation就意味着小的tenured generation,就意味着更多的major collection(major collection会引发minor collection)。NewRatio反映的是young和tenured generation的大小比例。NewSize和MaxNewSize反映的是young generation大小的下限和上限,将这两个值设为一样就固定了young generation的大小(同Xms和Xmx设为一样)。如果希望,SurvivorRatio也可以优化survivor的大小,不过这对于性能的影响不是很大。SurvivorRatio是eden和survior大小比例。一般而言,server端的app会有以下规则:首先决定能分配给vm的最大的heap size,然后设定最佳的young generation的大小;如果heap size固定后,增加young generation的大小意味着减小tenured generation大小。让tenured generation在任何时候够大,能够容纳所有live的data(留10%-20%的空余)。

      3.2 经验&规则

      1、年轻代大小选择:响应时间优先的应用:尽可能设大,直到接近系统的最低响应时间限制(根据实际情况选择).在此种情况下,年轻代收集发生的频率也是最小的.同时,减少到达年老代的对象;吞吐量优先的应用:尽可能的设置大,可能到达Gbit的程度.因为对响应时间没有要求,垃圾收集可以并行进行,一般适合8CPU以上的应用;避免设置过小.当新生代设置过小时会导致:1.YGC次数更加频繁 2.可能导致YGC对象直接进入旧生代,如果此时旧生代满了,会触发FGC.

      2、年老代大小选择:响应时间优先的应用:年老代使用并发收集器,所以其大小需要小心设置,一般要考虑并发会话率和会话持续时间等一些参数.如果堆设置小了,可以会造成内存碎 片,高回收频率以及应用暂停而使用传统的标记清除方式;如果堆大了,则需要较长的收集时间.最优化的方案,一般需要参考以下数据获得,并发垃圾收集信息、持久代并发收集次数、传统GC信息、花在年轻代和年老代回收上的时间比例。吞吐量优先的应用:一般吞吐量优先的应用都有一个很大的年轻代和一个较小的年老代.原因是,这样可以尽可能回收掉大部分短期对象,减少中期的对象,而年老代尽存放长期存活对象。

      3、较小堆引起的碎片问题:因为年老代的并发收集器使用标记,清除算法,所以不会对堆进行压缩.当收集器回收时,他会把相邻的空间进行合并,这样可以分配给较大的对象.但是,当堆空间较小时,运行一段时间以后,就会出现"碎片",如果并发收集器找不到足够的空间,那么并发收集器将会停止,然后使用传统的标记,清除方式进行回收.如果出现"碎片",可能需要进行如下配置:-XX:+UseCMSCompactAtFullCollection:使用并发收集器时,开启对年老代的压缩;-XX:CMSFullGCsBeforeCompaction=0:上面配置开启的情况下,这里设置多少次Full GC后,对年老代进行压缩。

      4、使用CMS的好处是用尽量少的新生代,经验值是128M-256M, 然后老生代利用CMS并行收集, 这样能保证系统低延迟的吞吐效率。 实际上cms的收集停顿时间非常的短,2G的内存, 大约20-80ms的应用程序停顿时间

      5、系统停顿的时候可能是GC的问题也可能是程序的问题,多用jmap和jstack查看,或者killall -3 java,然后查看java控制台日志,能看出很多问题。(相关工具的使用方法将在后面的blog中介绍)。

      6、仔细了解自己的应用,如果用了缓存,那么年老代应该大一些,缓存的HashMap不应该无限制长,建议采用LRU算法的Map做缓存,LRUMap的最大长度也要根据实际情况设定。

      7、采用并发回收时,年轻代小一点,年老代要大,因为年老大用的是并发回收,即使时间长点也不会影响其他程序继续运行,网站不会停顿。

      8、JVM参数的设置(特别是 –Xmx –Xms –Xmn-XX:SurvivorRatio -XX:MaxTenuringThreshold等参数的设置没有一个固定的公式,需要根据PV old区实际数据 YGC次数等多方面来衡量。为了避免promotion faild可能会导致xmn设置偏小,也意味着YGC的次数会增多,处理并发访问的能力下降等问题。每个参数的调整都需要经过详细的性能测试,才能找到特定应用的最佳配置。

      3.3 PromotionFailed:

      垃圾回收时promotionfailed是个很头痛的问题,一般可能是两种原因产生,第一个原因是救助空间不够,救助空间里的对象还不应该被移动到年老代,但年轻代又有很多对象需要放入救助空间;第二个原因是年老代没有足够的空间接纳来自年轻代的对象;这两种情况都会转向Full GC,网站停顿时间较长。

      解决方方案一:

      第一个原因我的最终解决办法是去掉救助空间,设置-XX:SurvivorRatio=65536 -XX:MaxTenuringThreshold=0即可,第二个原因我的解决办法是设置CMSInitiatingOccupancyFraction为某个值(假设70),这样年老代空间到70%时就开始执行CMS,年老代有足够的空间接纳来自年轻代的对象。

      解决方案一的改进方案:

      又有改进了,上面方法不太好,因为没有用到救助空间,所以年老代容易满,CMS执行会比较频繁。我改善了一下,还是用救助空间,但是把救助空间加大,这样也不会有promotion failed。具体操作上,32位Linux和64位Linux好像不一样,64位系统似乎只要配置MaxTenuringThreshold参数,CMS还是有暂停。为了解决暂停问题和promotion failed问题,最后我设置-XX:SurvivorRatio=1 ,并把MaxTenuringThreshold去掉,这样即没有暂停又不会有promotoin failed,而且更重要的是,年老代和永久代上升非常慢(因为好多对象到不了年老代就被回收了),所以CMS执行频率非常低,好几个小时才执行一次,这样,服务器都不用重启了。

    -Xmx4000M -Xms4000M -Xmn600M-XX:PermSize=500M -XX:MaxPermSize=500M -Xss256K -XX:+DisableExplicitGC-XX:SurvivorRatio=1 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC-XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0-XX:+CMSClassUnloadingEnabled -XX:LargePageSizeInBytes=128M-XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly-XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0-XX:+PrintClassHistogram -XX:+PrintGCDetails -XX:+PrintGCTimeStamps-XX:+PrintHeapAtGC -Xloggc:log/gc.log

      3.4 CMSInitiatingOccupancyFraction值与Xmn的关系公式

      上面介绍了promontionfaild产生的原因是EDEN空间不足的情况下将EDEN与From survivor中的存活对象存入To survivor区时,To survivor区的空间不足,再次晋升到old gen区,而old gen区内存也不够的情况下产生了promontion faild从而导致full gc.那可以推断出:eden+from survivor < old gen区剩余内存时,不会出现promontion faild的情况,即:

    (Xmx-Xmn)*(1-CMSInitiatingOccupancyFraction/100)>=(Xmn-Xmn/(SurvivorRatior+2))  进而推断出:CMSInitiatingOccupancyFraction<=((Xmx-Xmn)-(Xmn-Xmn/(SurvivorRatior+2)))/(Xmx-Xmn)*100

      例如:当xmx=128 xmn=36SurvivorRatior=1时CMSInitiatingOccupancyFraction<=((128.0-36)-(36-36/(1+2)))/(128-36)*100=73.913;

      当xmx=128 xmn=24SurvivorRatior=1时CMSInitiatingOccupancyFraction<=((128.0-24)-(24-24/(1+2)))/(128-24)*100=84.615…

      当xmx=3000 xmn=600SurvivorRatior=1时 CMSInitiatingOccupancyFraction<=((3000.0-600)-(600-600/(1+2)))/(3000-600)*100=83.33

    CMSInitiatingOccupancyFraction低于70% 需要调整xmn或SurvivorRatior值。

    展开全文
  • sap 内存参数调整

    千次阅读 2016-03-24 20:38:15
    1、 检查需要的内存 Linux or Unix下 运行下面命令,后会生成内存需求建议报告 /usr/sap//SYS/exe/run/sappfpar check pf=/usr/sap//SYS/profile/ nr= name= | more 如: su - dl3adm  cd...
  • JVM内存配置参数

    千次阅读 2019-02-15 17:15:15
    对于JVM内存配置参数: -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3 ,其最小内存值和Survivor区总大小分别是()  A 5120m,1024m  B 5120m,2048m  C 10240m,1024m  D 10240m,2048m 答案...
  • postgresql内存参数

    千次阅读 2018-05-03 06:48:12
    postgresql的内存分配主要由shared_buffers、temp_buffers、work_mem、maintenance_work_mem参数控制。 shared_buffers又做共享缓冲区,postgresql对数据操作时都要先将数据从磁盘读取到内存中,然后进行更新,最后...
  • 推荐mysql内存参数设置值

    万次阅读 2018-07-30 16:04:09
    主要用来存放每一个线程自身的标识信息,如线程id,线程运行时基本信息等等,我们可以通过 thread_stack 参数来设置为每一个线程栈分配多大的内存。 Global,No Dynamic,Default 192K(32bit), 256K(32bit), 推荐配置...
  • JDK8 合理设置JVM内存参数

    千次阅读 2019-11-21 12:04:11
    不同java应用对内存要求不同,合适的JVM参数只能通过对每个应用实际运行过程中内存占用数据收集后才能确定。即先设置初值,然后在应用运行过程中收集内存占用数据,最后计算各内存区域的大小。 本文先简单介绍与本...
  • mysql配置参数调优(8GB内存和64GB内存)

    千次阅读 2019-09-11 22:33:26
    文章目录一、前言二、查看服务器的CPU和内存1、查看CPU的个数2、查看服务器的内存3、数据库版本三、64GB内存的mysql配置参数四、本机8GB内存的mysql配置参数1、查看数据库版本2、具体的配置参数五、总结1、数据库...
  • 三星内存参数含义

    千次阅读 2019-02-21 11:05:00
    2Rx4:表示内存是双面每排4颗内存颗粒,R是英语Row(排)的意思 PC4:DDR4 2133P:2133MB频率 RA0—10—P20:厂商代码 M393A2G40DB0—CPB3Q 1536 M:内存 3:DIMM(双列直插式内存模组) 93:表示x72 240Pin ...
  • java运行时内存参数设置

    千次阅读 2018-06-01 16:01:35
    "Java进程可以向操作系统申请到的最大内存:" +(Runtime. getRuntime ().maxMemory())/( 1024 * 1024 )+ "M" ) ; System. out .println( "Java进程空闲内存:" +(Runtime. getRuntime ().freeMemory())/( 1024 * ...
  • java内存分配参数设置

    千次阅读 2019-09-19 13:22:03
    #heap内存 JAVA_OPTS="$JAVA_OPTS -Xmx14336m —最大堆容量 -Xms14336m —堆内存初始大小(最大堆容量和初始堆容量大小相等则表示java堆不可扩展) -XX:PermSize=256m —方法区初始容量 ...
  • 如何查看电脑内存的各种参数

    千次阅读 2020-11-23 15:11:13
    如何查看电脑内存的各种参数 1、电脑不使用任何外带工具查看内存参数。 1.1、运行中输入"CMD"。 1.2、在命令提示窗口中输入"wmic"并回车。接着输入"memorychip"回车。然后拖动窗口中的水平滚动条基于可以查看需要...
  • Tomcat 内存配置 及 配置参数详解

    万次阅读 2018-12-27 14:18:03
    按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。 可以看出JVM主要...
  • DDR3内存参数配置

    千次阅读 2019-03-01 15:52:33
    CAS latency(CL)
  • jdk1.8限制内存参数

    万次阅读 2018-05-28 11:27:18
    centos7上java应用使用 java -jar -Xms512m -Xmx512m 参数启动,限制不了内存,很快就会超过512m这个数,而且 还在不停的增长,大概在1.7G就会停止 增加各种参数-Xms512m -Xmx512m -XX:MetaspaceSize=200m -XX:...
  • 关于jvm几个关键内存配置参数

    万次阅读 2016-08-15 12:21:02
    对于jvm内存配置参数: -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3 其最小内存值和Survior区总大小分别是: a. 5120m,1024m b.5120m,2048m c.10240m,1024m d.10240m,2048m 答案是:d. 首先必须...
  • redis性能出现问题的表象有哪些 连接超时 延时过高 查看redis的某些参数和其含义 info 连接redis以后,输入info,info命令输出的数据可分为10个类别,分别是: server clients memory persistence stats ...
  • jvm最大最小内存参数设置

    千次阅读 2020-04-21 12:28:34
    -Xms 为jvm启动时分配的初始堆的大小...-Xmx 为jvm运行过程中分配的最大堆内存,比如-Xmx500m,表示jvm进程最多只能够占用500M内存 -Xss 为jvm启动的每个线程分配的内存大小,默认JDK1.4中是256K,JDK1.5+中是1M ...
  • jdk8内存参数修改

    千次阅读 2018-05-31 13:40:43
    jdk内存实际是jvm内存,jvm一个运行时数据区,其实就是对这一部分的大小分配。 运行时数据区通常包括这几个部分:程序计数器(Program Counter Register)、Java栈(VM Stack)、本地方法栈(Native Method Stack)、...
  • 启动jar包,内存参数设置

    万次阅读 2019-08-06 10:44:45
    nohup java -jar -Xms512m -Xmx2048m -XX:PermSize=512M -XX:MaxPermSize=1024M car.jar 说明: Xms:堆内存初始大小 Xmx:堆内存最大值 PermSize:永久内存初始大小 ...堆内存和永久内存区别,参考jvm运行机制 ...
  • JVM参数调优(内存溢出解决办法)

    千次阅读 2018-02-25 23:46:22
    JVM参数调优(内存溢出解决办法) 设置堆内存大小 错误原因: java.lang.OutOfMemoryError: Java heap space 堆内存溢出 解决办法: 设置堆内存大小: -Xms10m -Xmx10m -XX:+...
  • Oracle 内存参数调优设置

    千次阅读 2018-07-06 15:08:39
     1 主要系统参数调优介绍 2 系统内存参数的分配 2.1 Oracle 实例= 内存结构 + 进程结构 内存结构 = SGA + PGA SGA(系统全局区): 用户存储数据库信息的内存区,该区域为数据库进程所共享。它包含服务器的数据和...
  • java jar包启动 内存参数

    万次阅读 2017-06-29 16:37:04
    java -jar -Xms128m -Xmx512m -Xss256m xxx.jar
  • Java虚拟机JVM启动内存参数设置

    万次阅读 2017-07-20 17:50:55
    Java虚拟机JVM启动内存参数设置
  • 内存泄漏:是指在堆空间中一直引用链引用着某些对象。导致对象不能被垃圾收集。 解决办法:如果是内存泄漏,课进一步通过工具查看泄漏对象到GC Roots 的引用链。于是就能找到泄漏对象是通过的路径与GC Roots 相关...
  • tomcat内存配置及配置参数详解

    万次阅读 2017-07-27 13:32:50
    1、jvm内存管理机制:    1)堆(Heap)和非堆(Non-heap)内存  按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。...
  • 很简单,就一个命令如下: nohup java -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m -jar 你的jar包 >>/dev/null &
  • 内存重要参数详解

    千次阅读 2014-02-12 17:25:17
    内存重要参数详解 重新花时间温习一下memory的一些概念,找了一些之前保存的文档,介绍ddr的相关概念的。现已找不到原文链接。 时序  内存的时序参数一般简写为2/2/2/6-11/1T的格式,分别代表CAS/tRCD/tRP...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,007,133
精华内容 802,853
关键字:

内存的参数有哪些