操作系统参数及配置

系统资源限制

  • data seg size

建议用户设置为 1048576(即 1 GB)以上或 unlimited(无限制),此参数过小将可能导致数据库启动失败。

  • file size

建议用户设置为 unlimited(无限制),此参数过小将可能导致数据库安装或初始化失败。

  • open files

建议用户设置为 65536 以上unlimited(无限制)。

  • virtual memory

建议用户设置为 1048576(即 1 GB)以上或 unlimited(无限制),此参数过小将可能导致数据库启动失败。

登录数据库运行用户,执行以下命令:

ulimit -a

1_2_1_01

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

1_2_1_02

Core 文件设置

查看及修改 core 文件大小

执行以下命令:

ulimit -c

1_2_2_1_01

修改 core 文件大小,执行以下命令:(只在当前会话有效)

ulimit -c fileSize    表示限制 core 文件生成大小
例如:ulimit -c unlimited   表示不限制生成的 core 文件大小

1_2_2_1_02

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

1_2_2_1_03

建议

尽量将这个文件大小设置得大一些,程序崩溃时生成 Core 文件大小即为程序运行时占用的内存大小。可能发生堆栈溢出的时候应用占用很大的内存,就可能生成很大的 core 文件。

查看及修改 core 默认生成路径

执行以下命令:

cat /proc/sys/kernel/core_pattern

1_2_2_2_01

为了防止有 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

1_2_2_2_02

磁盘调度算法

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

1_2_3_01

注意

修改磁盘调度算法需要 root 权限。

更改到 deadline 调度算法,执行以下命令:(临时修改)

echo deadline > /sys/block/sda/queue/scheduler

1_2_3_02

修改内核引导参数,加入 elevator= 调度程序名,执行以下命令:(永久修改,需要重启服务器才生效)

[root@localhost ~]# grubby --update-kernel=ALL --args="elevator=deadline"
[root@localhost ~]# reboot
微信扫码
分享文档
扫一扫
联系客服