wedsy120
wedsy120
采纳率0%
2015-07-21 02:45

服务器频繁fullGC,如何设置调优

服务器一直报CPU饥饿,经过查看GC日志发现系统频繁出现full GC,求教各位大大,如何进行调优?
服务器配置: 8C48G
jvm参数:-Xss1m -Xgcpolicy:optavgpause -Xmns256m -Xmnx512m -Xjit:codetotal=131072 -Xgcthreads2 -Xloamaximum0.2 -Xverbosegclog:${SERVER_LOG_ROOT}/verbosegc.log,20,50000 -Ddefault.client.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=Zh -Duser.region=UTF-8
最大堆大小设置:16G 初始堆大小:8G
附一段GC日志如下:

<con event="completed full sweep" timestamp="Jul 21 09:39:56 2015">
   <stats sweepbytes="0" sweeptime="0.137" connectbytes="1071644672" connecttime="0.404" />
























  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • dear_Alice_moon _明月 6年前

    嗯,我觉得楼主可以从这几个方面考虑服务器调优的事情,希望我的回复对你有帮助。
    一、 CPU问题
    a)考虑使用更高级的CPU代替目前的CPU
    b)对于多个CPU,考虑CPU之间的负载分配
    c)考虑在其他体系上设计系统,例如增加前置机、设置并行服务器等
    二、内存和高速缓存
    a)内存的优化包括操作系统、数据库、应用程序的内存优化
    b)过多的分页与交换可能降低系统的性能
    c)内存分配也是影响系统性能的主要原因
    d)保证保留列表具有较大的邻接内存块
    e)调整数据块缓存区大小(用数据块的个数表示)是一个重要内容
    f)将最频繁使用的数据保存在存储区中
    三、磁盘(I/O)资源问题
    a)磁盘读写进度对数据库系统是至关重要的,数据库对象在物理设备上的合理分布能改善性能
    b)磁盘镜像会减慢磁盘写的速度
    c)通过把日志和数据库对象分布在独立的设备上,可以提高系统的性能
    d)把不同的数据库放在不同的硬盘上,可以提高读写速度。建议把数据库、回滚段、日志放在不同的设备上
    e)把表放在一块硬盘上,把非簇的索引放在另一块硬盘上,保证物理读写更快。
    四、调整配置参数
    a)包括操作系统和数据库的参数配置
    b)并行操作资源限制的参数(并发用户的数目、会话数)
    c)影响资源开销的参数
    d)与I/O有关的参数
    五、优化应用系统网络设置
    a)可以通过数组接口来减少网络呼叫。不是一次提取一行,而是在单个往来往返中提取10行,这样效率较高
    b)调整会话数据单元的缓冲区大小
    c)共享服务进程比专用服务进程提供更好的性能

    点赞 评论 复制链接分享

相关推荐