
Я собираюсь установить базу данных Oracle 12c на Oracle Linux 7.5. В процессе мне нужно отредактировать следующие параметры ядра и задать значения.
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 доступен только для чтения. Даже если я переопределяю его с помощью «!», изменения не применяются и изменяют параметры.
решение1
Изменения в файле /etc/sysctl.conf
обычно влияют на систему только после перезагрузки.пока невы запускаете вручную:
sudo sysctl -p
Если вы хотите установить определенную переменную ядра во время выполнения, выполните:
sudo sysctl -w kernel.shmmni=4096
Если вы хотите увидеть все переменные ядра, выполните:
sysctl -a