• 未开启HugePages ORACLE session剧增时引起的一次悲剧


    故障简单描写叙述一下:LINUX系统未开启HugePages,主机内存将近300G。SWAP是32G。ORACLE 的 SGA_MAX_SIZE设置是主机内存的将近80%,SGA_TARGET设置是主机内在的将近60%。正常情况下数据库session大约在将近500。

    故障当天业务有变化,session数添加了一倍。达到上1000个。内存紧张,用到了SWAP空间。

    解决:找时间关数据库,又一次配置HugePages,重新启动数据库后观察,内存消耗较少,与未开启HugePages之前是数量级对照。

    Hugepage能够减轻cpu的负担,还能够降低系统内存的消耗;普通情况下建议linux的数据库系统配置Hugepage(特别是内存大、SESSION多).

    关于开启hugepages与关闭。參考:http://blog.csdn.net/haibusuanyun/article/details/20697371

    关于LINUX 6关闭;http://blog.csdn.net/haibusuanyun/article/details/41983497

    会话数600多时
    [oracle@* ~]$ ps -ef|grep LOCAL| wc -l
    613
    [oracle@* ~]$ ps -ef|grep LOCAL| wc -l
    647
    [oracle@ ~]$ free -m
                 total       used       free     shared    buffers     cached
    Mem:        257927     255079       2847          0         64     148001
    -/+ buffers/cache:     107013     150914
    Swap:        31999      13738      18261
    [oracle@ ~]$ cat /proc/meminfo |grep PageT
    PageTables:     94353044 kB
    [oracle@ ~]$ free -m
                 total       used       free     shared    buffers     cached
    Mem:        257927     255182       2745          0         64     147743
    -/+ buffers/cache:     107373     150553
    Swap:        31999      13981      18018
    [oracle@ ~]$ ps -ef|grep LOCAL| wc -l
    654
    [oracle@~]$ cat /proc/meminfo |grep PageT
    PageTables:     95038204 kB


    会话数上1000时,
    [oracle@ ~]$ cat /proc/meminfo |grep PageT
    PageTables:     110855888 kB
    [oracle@ ~]$ ps -ef|grep LOCAL| wc -l
    1016


    补充下配置HugePages后的使用情况

    [oracle@ ~]$ cat /proc/meminfo |grep Page
    PageTables:       164464 kB
    [oracle@~]$ ps -ef|grep LOCAL|wc -l
    429

  • 相关阅读:
    Scala之eq,equals,==的区别
    Spark Streaming流计算特点及代码案例
    刷题50—水壶问题
    刷题49(力扣3道题)
    刷题48——最长回文串
    刷题47——矩形重叠
    刷题46——拼写单词
    刷题45(力扣两道题)
    刷题44——岛屿的最大面积
    刷题43——最长上升子序列
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6873646.html
Copyright © 2020-2023  润新知