我将在 oracle linux 7.5 上安装 oracle 数据库 12c。在此过程中,我必须编辑以下内核参数并设置值。
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
文档说我应该编辑 /etc/sysctl.conf 文件。当我运行 cat /etc/sysctl.conf 来读取当前内容时,它会显示以下消息。
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5)
当我尝试在 vi 中使用 root 用户进行编辑时,它说 sysctl.conf 是只读的。即使我用“!”覆盖,更改也不会应用并修改参数。
除非您手动运行,否则对文件的编辑
/etc/sysctl.conf
通常只会在重新启动时影响系统:如果要在运行时设置特定的内核变量,请执行以下操作:
如果要查看所有内核变量,请执行以下操作: