AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 207807
Accepted
owcred601
owcred601
Asked: 2018-05-25 22:25:59 +0800 CST2018-05-25 22:25:59 +0800 CST 2018-05-25 22:25:59 +0800 CST

关于内核参数的配置

  • 772

在安装 ORACLE 之前,我必须设置一些内核参数,例如

kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 1048576
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 = 1048576

我已经搜索过它们是什么,但很难理解。

例如,我可以获得 的信息kernel.shmmni,即最大段数。这很容易,但我不明白什么意思kernel.sem以及net.core为什么需要它们。

有人可以解释一下这些参数的含义吗?

oracle
  • 2 2 个回答
  • 170 Views

2 个回答

  • Voted
  1. Best Answer
    Philᵀᴹ
    2018-05-26T06:22:43+08:002018-05-26T06:22:43+08:00

    这些参数都根据它们影响系统的哪个部分来加上前缀。fs=文件系统,net=网络等。

    kernel.shmmni = 4096这设置了系统范围内共享内存段的最大数量。在高层次上,共享内存段是多个进程可以同时附加到的一块内存。您可以使用命令查看 Linux 机器上所有当前的共享内存段ipcs -m。

    kernel.sem = 250 32000 100 128配置信号量。最好将信号量描述为:

    操作系统(或内核)存储中指定位置的值,每个进程都可以检查然后更改。根据找到的值,进程可以使用该资源,或者会发现它已被使用并且必须等待一段时间才能再次尝试。

    此链接 解释了如何使用信号量以及实际设置的 4 个不同值。

    fs.file-max = 6815744设置在任何给定时间点可以在系统范围内打开的最大文件数。一旦达到限制,尝试打开另一个文件将失败。

    fs.aio-max-nr = 1048576是(为了这个答案而简化)可以在任何时间点进行的并发文件读/写操作的最大数量。

    net.ipv4.ip_local_port_range = 9000 65500是用于传出连接的 IP 端口范围。因此,当进程打开与外界的连接时,它将使用 9000 到 65500 之间的端口。这解释了端口是什么。

    以下是网络参数,基本上控制了任意时间点可以传输多少网络数据。

    net.core.rmem_default = 262144是所有类型连接的默认操作系统接收缓冲区大小。

    net.core.rmem_max = 4194304是所有类型连接的最大操作系统接收缓冲区大小。

    net.core.wmem_default = 262144是所有类型连接的默认操作系统发送缓冲区大小。

    net.core.wmem_max = 1048576是所有类型连接的最大操作系统发送缓冲区大小。

    • 1
  2. Rph
    2018-05-26T06:24:10+08:002018-05-26T06:24:10+08:00

    如果您已经了解操作系统如何工作的基础知识,那么您也可以理解这些参数,不用担心。关于您的具体问题:

    kernel.sem指的是什么是Semaphore:

    信号量充当共享内存的标志。信号量被设置为打开或关闭。当 Oracle 进程访问共享内存中的 SGA 时,它会检查该部分内存的信号量。如果它发现为该部分内存设置了一个信号量,表明另一个进程已经在使用该部分,该进程将休眠并稍后再次检查。如果没有为那部分内存设置信号量,它会设置一个并继续其操作。完成后,它将信号量切换回关闭状态。


    net.core与网络栈有关。例如:

    • net.core.rmem_max:定义最大接收套接字缓冲区大小(以字节为单位)
    • net.core.wmem_max:定义以字节为单位的最大发送套接字缓冲区大小


    您可以在以下参考资料中获得更多信息:
    - Oracle Linux 内核参数
    - 优化的网络设置
    - Sysctl 调整

    • 0

相关问题

  • Oracle 中的数据库备份 - 导出数据库还是使用其他工具?

  • ORDER BY 使用文本列的自定义优先级

  • 舒服的sqlplus界面?[关闭]

  • 如何在数据库中找到最新的 SQL 语句?

  • 如何使用正则表达式查询名称?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve