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

服务器频繁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条回答 默认 最新

  • _明月 2015-07-21 03:16
    关注

    嗯,我觉得楼主可以从这几个方面考虑服务器调优的事情,希望我的回复对你有帮助。
    一、 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)共享服务进程比专用服务进程提供更好的性能

    评论

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退