系统资源限制
- data seg size
建议用户设置为 1048576 (即 1 GB)以上或 unlimited(无限制),此参数过小 将可能导致数据库启动失败。
- file size
建议用户设置为 unlimited(无限制),此参数过小将可能导致数据库安装或初始化失败。
- open files
建议用户设置为 65536 以上或 unlimited(无限制)。
- virtual memory
建议用户设置为 1048576(即 1 GB)以上或 unlimited(无限制),此参数过小 将可能导致数据库启动失败。
登录数据库运行用户,执行以下命令:
ulimit -a |

修改 limit 配置,即登录 root 修改 /etc/security/limits.conf,配置如下:

Core 文件设置
查看及修改 core 文件大小
执行以下命令:
ulimit -c |

修改 core 文件大小,执行以下命令:(只在当前会话有效)
ulimit -c fileSize 表示限制core文件生成大小 |

修改 limit 配置,即登录 root 修改 /etc/security/limits.conf,配置如下:(永久有效)

建议尽量将这个文件大小设置得大一些,程序崩溃时生成 Core 文件大小即为程序运行时占用的内存大小。可能发生堆栈溢出的时候应用占用很大的内存,就可能生成很大的 core 文件。
查看及修改 core 默认生成路径
执行以下命令:
cat /proc/sys/kernel/core_pattern |

为了防止有 core 文件能正常生成,建议放置空间足够的磁盘目录,且不与数据文件放一起。登录 root 修改 core 文件默认生成路径,执行以下命令:
echo "/corefile/core-%e-%p-%t" > /proc/sys/kernel/core_pattern |
将会控制所产生的 core 文件会存放到 /corefile 目录下,产生的文件名为 core- 命令名 -pid- 时间戳,执行以下命令:
sysctl -w kernel.core_pattern=/corefile/core.%e.%p.%s.%E |

磁盘调度算法
查看 sda 盘调度算法命令:cat /sys/block/sda/queue/scheduler,数据库服务器建议使用 deadline io 调度算法,如下图所示:

注意修改磁盘调度算法需要root权限。
更改到 deadline 调度算法,执行以下命令:(临时修改)
echo deadline > /sys/block/sda/queue/scheduler |

修改内核引导参数,加入 elevator= 调度程序名,执行以下命令:(永久修改,需要重启服务器才生效)
[root@localhost ~]# grubby --update-kernel=ALL --args="elevator=deadline" |




