精华内容
下载资源
问答
  • Oracle数据库在linux系统上的安装过程中,涉及到设置linux内核参数;这些内核参数究竟代表什么含义,如何调整这些参数?...取物理内存大小的一半,单位为字节kernel.shmmni = 4096 # 整个系统共享内存段的最大...

    Oracle数据库在linux系统上的安装过程中,涉及到设置linux内核参数;

    这些内核参数究竟代表什么含义,如何调整这些参数?

    kernel.shmall = 2097152 # 可以使用的共享内存的总量,单位:页。

    kernel.shmmax = 2147483648 # 最大单个共享内存段大小。取物理内存大小的一半,单位为字节

    kernel.shmmni = 4096 # 整个系统共享内存段的最大数目。

    kernel.sem = 250 32000 100 128 # 每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数。

    fs.file-max = 65536 # 系统中所允许的文件句柄最大数目。

    net.ipv4.ip_local_port_range = 1024 65000 # 应用程序可使用的IPv4端口范围。

    net.core.rmem_default = 1048576 # 套接字接收缓冲区大小的缺省值

    net.core.rmem_max = 1048576 # 套接字接收缓冲区大小的最大值

    net.core.wmem_default = 262144 # 套接字发送缓冲区大小的缺省值

    net.core.wmem_max = 262144 # 套接字发送缓冲区大小的最大值

    共享内存:

    可以通过ipcs -lm命令查看目前系统共享内存的参数限制:

    # ipcs -lm

    —— Shared Memory Limits ——–

    max number of segments = 4096

    max seg size (kbytes) = 1048576

    max total shared memory (pages) = 2097152

    min seg size (bytes) = 1

    这里涉及到3个于共享内存相关的参数:SHMMAX,SHMMNI,SHMALL

    SHMMAX

    含义:单个共享内存段最大字节数

    设置:比SGA略大

    查看:cat /proc/sys/kernel/shmmax

    $ cat /proc/sys/kernel/shmmax

    1073741824

    修改:

    sysctl -w kernel.shmmax=1073741824

    echo “kernel.shmmax=1073741824″ >> /etc/sysctl.conf

    SHMMNI

    含义:共享内存段最大个数

    设置:至少4096

    查看:cat /proc/sys/kernel/shmmni

    # cat /proc/sys/kernel/shmmni

    4096

    修改:

    # sysctl -w kernel.shmmni=4096

    # echo “kernel.shmmni=4096″ >> /etc/sysctl.conf

    SHMALL

    含义:系统中共享内存页总数

    设置:至少ceil(shmmax/PAGE_SIZE);ORACLE DOC 默认值:2097152*4096=8GB

    查看:cat /proc/sys/kernel/shmall

    $ getconf PAGE_SIZE

    4096

    # cat /proc/sys/kernel/shmall

    2097152

    修改:

    # sysctl -w kernel.shmall=2097152

    # echo “kernel.shmall=2097152″ >> /etc/sysctl.conf

    信号量:

    当前系统信号量限制:

    oracle@lab-rd-01:~$ ipcs -ls

    —— Semaphore Limits ——–

    max number of arrays = 128

    max semaphores per array = 250

    max semaphores system wide = 32000

    max ops per semop call = 100

    SEMMSL

    含义:每个信号量set中信号量最大个数

    设置:最小250;对于processes参数设置较大的系统建议设置为processes+10

    SEMMNI

    含义:linux系统信号量set最大个数

    设置:最少128

    SEMMNS

    含义:linux系统中信号量最大个数

    设置:至少32000;SEMMSL * SEMMNI

    SEMOPM

    含义:semop系统调用允许的信号量最大个数

    设置:至少100;或者等于SEMMSL

    查看信号量设置:cat /proc/sys/kernel/sem

    order:SEMMSL, SEMMNS, SEMOPM, SEMMNI

    oracle@lab-rd-01:~$ cat /proc/sys/kernel/sem

    250    32000    100    128

    修改:

    sysctl -w kernel.sem=”250 32000 100 128″

    echo “kernel.sem=250 32000 100 128″ >> /etc/sysctl.conf

    ORACLE提供了sysresv工具管理共享内存以及信号量,操作系统级别可以通过ipcs管理。

    展开全文
  • 1. 优化虚拟内存设置首先启动Windows 9x/Me系统,依次选择“开始→设置→控制面板→系统→性能→虚拟内存”,打开虚拟内存设置窗口。在该窗中选中“用户自己指定虚拟内存设置”选项。然后将虚拟内存的位置设为C盘...

    1. 优化虚拟内存设置

    首先启动Windows 9x/Me系统,依次选择“开始→设置→控制面板→系统→性能→虚拟内存”,打开虚拟内存设置窗口。在该窗中选中“用户自己指定虚拟内存设置”选项。然后将虚拟内存的位置设为C盘(C盘速度最快),再将虚拟内存的最大值与最小值都设为物理内存的1.5倍(这样设置后,系统无需根据虚拟内存的使用量来调节虚拟内存文件的大小,一方面节省了系统资源,另一方面可以有效减少磁盘碎片的产生)。

    2. 共享虚拟内存

    重新启动计算机并登录到Windows XP,运行注册表编辑器,依次展开HKEY_LOCAL_MACHINESYSTEMControlSet001ControlSession ManagerMemory Management分支,双击右侧窗口中的“PagingFiles”键值,将其值改为“C:win386.swp 200 200”(注意:中间的200前后各有一个空格)。

    依次展开HKEY_LOCAL_MACHINESYSTEMControlSet002ControlSession ManagerMemory Management分支和HKEY_LOCAL_MACHINESYSTEMCurrent ControlSetControlSession ManagerMemory Management分支,按上述方法将“PagingFiles”键值改为“C:win386.swp 200 200”。

    展开HKEY_LOCAL_MACHINESYSTEMCurrent ControlSetControlBackupRestoreFilesNotToBackup和HKEY_LOCAL_MACHINESYSTEMControlSet001ControlBackupRestoreFilesNotToBackup分支,将以上分支下的“Memory Page File”键值均设置为“Win386.swp”。

    现在退出注册表编辑器,重新启动计算机,登录到Windows XP后将Pagefile.sys文件删除,至此大功告成!

    展开全文
  • 可以通过ipcs -lm命令查看目前系统共享内存的参数限制: # ipcs -lm —— Shared Memory Limits ——– max number of segments = 4096 max seg size (kbytes) = 1048576 max total shared memory (pages...

    共享内存

    可以通过ipcs -lm命令查看目前系统共享内存的参数限制:

    # ipcs -lm

    —— Shared Memory Limits ——–
    max number of segments = 4096
    max seg size (kbytes) = 1048576
    max total shared memory (pages) = 2097152
    min seg size (bytes) = 1

    这里涉及到3个于共享内存相关的参数:SHMMAX,SHMMNI,SHMALL

    SHMMAX

    • 含义:单个共享内存段最大字节数
    • 设置:比SGA略大
    • 查看:cat /proc/sys/kernel/shmmax

      $ cat /proc/sys/kernel/shmmax
      1073741824

    • 修改:

      sysctl -w kernel.shmmax=1073741824
      echo “kernel.shmmax=1073741824″ >> /etc/sysctl.conf

    SHMMNI

    • 含义:共享内存段最大个数
    • 设置:至少4096
    • 查看:cat /proc/sys/kernel/shmmni

      # cat /proc/sys/kernel/shmmni
      4096

    • 修改:

    # sysctl -w kernel.shmmni=4096
    # echo “kernel.shmmni=4096″ >> /etc/sysctl.conf

    SHMALL

    • 含义:系统中共享内存页总数
    • 设置:至少ceil(shmmax/PAGE_SIZE);ORACLE DOC 默认值:2097152*4096=8GB
    • 查看:cat /proc/sys/kernel/shmall

    $ getconf PAGE_SIZE
    4096

    # cat /proc/sys/kernel/shmall
    2097152

    • 修改:

    # sysctl -w kernel.shmall=2097152
    # echo “kernel.shmall=2097152″ >> /etc/sysctl.conf

    信号量:

    当前系统信号量限制:

    oracle@lab-rd-01:~$ ipcs -ls

    —— Semaphore Limits ——–
    max number of arrays = 128
    max semaphores per array = 250
    max semaphores system wide = 32000
    max ops per semop call = 100

    SEMMSL

    • 含义:每个信号量set中信号量最大个数
    • 设置:最小250;对于processes参数设置较大的系统建议设置为processes+10

    SEMMNI

    • 含义:linux系统信号量set最大个数
    • 设置:最少128

    SEMMNS

    • 含义:linux系统中信号量最大个数
    • 设置:至少32000;SEMMSL * SEMMNI

    SEMOPM

    • 含义:semop系统调用允许的信号量最大个数
    • 设置:至少100;或者等于SEMMSL

    查看信号量设置:cat /proc/sys/kernel/sem

    order:SEMMSL, SEMMNS, SEMOPM, SEMMNI

    oracle@lab-rd-01:~$ cat /proc/sys/kernel/sem
    250    32000    100    128

    修改:

    sysctl -w kernel.sem=”250 32000 100 128″
    echo “kernel.sem=250 32000 100 128″ >> /etc/sysctl.conf

    展开全文
  • Linux 共享内存限制的查看与设置

    千次阅读 2013-05-13 20:08:09
    ipcs -l是各种限制:-lm...ipcs -lm命令查看目前系统共享内存的参数限制 ------ Shared Memory Limits -------- max number of segments = 4096 max seg size (kbytes) = 32768 max total shared memory (kbytes) =

    ipcs -l是各种限制:-lm共享内存、-ls信号量、-lq消息队列。

    ipcs -lm命令查看目前系统共享内存的参数限制

    ------ Shared Memory Limits --------
    max number of segments = 4096
    max seg size (kbytes) = 32768
    max total shared memory (kbytes) = 8388608
    min seg size (bytes) = 1

    SHMMAX 
    含义:单个共享内存段最大字节数,一般为32M
    查看:cat /proc/sys/kernel/shmmax
    $ cat /proc/sys/kernel/shmmax
    sysctl kernel.shmmax 
    设置:sysctl -w kernel.shmmax =1073741824 
    SHMMNI
    含义:共享内存段最大个数,一般为4096
    查看:cat /proc/sys/kernel/shmmni
    # cat /proc/sys/kernel/shmmni
    设置:
    # sysctl -w kernel.shmmni=4096
    SHMALL
    含义:系统中共享内存页总数默认值:2097152*4096=8GB
    查看:cat /proc/sys/kernel/shmall
    # cat /proc/sys/kernel/shmall
    设置:
    # sysctl -w kernel.shmall=2097152





    展开全文
  • Android匿名共享内存

    2021-03-01 18:15:51
    2.ioctl设置共享内存的名字和大小,设置的名字为/dev/ashmem/,名字的存在就为了能够让其他人找到目标 3.mmap映射文件中的虚拟内存以及物理内存 4.直接对着这一块地址区域读写。 其中ioctl必须设置名字和大小,不然...
  • 信号量与共享内存设置 ---------- 1.LIUNX cat /etc/sysctl.conf 共享内存: kernel.shmall = 2097152 # 可以使用的共享内存的总量,单位:页。 取值:推荐大于shmmax/page_size(getconf PAGE_SIZE ...
  • Oracle数据库在linux系统上的安装过程中,涉及到设置linux内核参数; 这些内核参数究竟代表什么含义,如何调整这些参数?   kernel.shmall = 2097152 # 可以使用的共享内存的总量,单位:页。 kernel.shmmax = ...
  • 共享内存笔记

    2018-10-04 11:21:57
    3、建立起系统内存的映射,映射到数据段。这个数据段就是相当于要使用的字符串。 如果对内存进行写入,建议使用bzero先清空内存,然后使用strcpy读入就好。注意:我所学的写入没有解除数据段和删除共享内存 4、解除...
  • 可以通过ipcs -lm命令查看目前系统共享内存的参数限制: # ipcs -lm —— Shared Memory Limits ——– max number of segments = 4096 max seg size (kbytes) = 1048576 max total shared memory (pages) = ...
  • 1.创建共享内存对象函数 1)函数原型 #include int shmget(key_t key, size_t size, int shmflg);...key:用户指定的共享内存键值,一般可以设置为IPC_PRIVATE(0) size:共享内存大小 shmflg: IPC_CREAT, IPC_EXC
  • 共享内存IPC

    2012-09-02 16:02:47
    由于内存共享需要的空间很大,所以系统对其做了一定的限制:   创建内存内存创建的标识: return error on wait 不等待直接返回 共享内存控制:   __cmd的可选值 映射共享内存对象: __...
  • 无论是Linux还是Windows,都会提供一定大小的内存给应用程序来使用,共享内存就像一个设置了权限的文件,允许你像操作文件一样操作共享内存。 比如,PHP多进程之间的通讯,你可以使用临时文件,管道,或者共享内存来...
  • 用于定义单个共享内存段的最大值,shmmax设置应能在一个共享内存段下容纳下整个的SGA,设置的过低导致创建多个共享内存段,可能导致系统性能的下降 。 设置shmmax>=SGA(32位系统不支持1.7G 以上SGA) kernel.shmall...
  • linux 共享内存通信

    2014-05-15 13:56:28
    用特殊的系统调用(即对 UNIX 内核的请求)分配和释放内存设置权限;通过一般的读写操作读写内存段中的数据。 共享内存并不是从某一进程拥有的内存中划分出来的;进程的内存总是私有的。共享内存是从系统的空闲...
  • oracle服务器内存设置

    千次阅读 2014-04-16 15:48:00
    一、oracle内存结构 内存结构=SGA(系统全局区)+PGA(程序全局区)  (一)、SGA SGA是用于存储数据库信息的内存区,该信息为数据库进程...设置SGA时,理论上SGA可占OS系统物理内存的1/2——1/3  原则:SGA+
  • 1、在windows下创建一个文件夹(winShare)来作为共享文件夹,路径为F:\winShare 2、在VMware Workstation...在计算机系统的盘符中会出现共享文件夹驱动器 4、在虚拟机下的ubuntu系统中/mnt/hgfs/目录下会出现 win...
  • IPC-进程间通信和同步之共享内存系统调用mmap详解(IPC范例篇) (基础知识和范例1看我前一篇博客) 范例2:两个进程通过映射普通文件实现共享内存通信  适用于任何进程之间; 此时,需要打开或创建一个文件,...
  • Linux下默认的机制称为fork,在创建子进程的时候,通过fork的系统功能,将当前的进程完全复制出一个新的实例,整个内存空间都是一模一样的,自然也就继承了父进程正在使用的函数和参数。这并不是真正的共享内存,...
  • 回到前面MemoryHeapBase类的构造函数中,将匿名共享内存映射到本进程的地址空间去后,还看继续设置这块匿名共享内存的读写属性: if(fd>=0){ if(mapfd(fd,size)==NO_ERROR){ if(flags&READ_ONLY)...
  • 1.打开第一电脑网络属性2.选择以太网属性3.选择Internet协议版本4属性4.IP地址与默认网关设置为192...直连设置好了,在网络共享可以看到另一台电脑1.打开第一电脑网络属性2.选择以太网属性3.选择Internet协议版本4属...
  • 今天做压力测试的时候,修改数据参数出现ORA-27102: out of memory错误,最后发现是系统参数设置的问题,限制了oracle的sga大小 修改系统参数前,一定要备份参数文件, create spfile from pfile='/opt/oracle/...
  • 用特殊的系统调用(即对 UNIX 内核的请求)分配和释放内存设置权限;通过一般的读写操作读写内存段中的数据。 共享内存并不是从某一进程拥有的内存中划分出来的;进程的内存总是私有的。共享内存是从系统的空闲...
  • SGA与共享内存

    2015-02-20 14:51:30
    我们在创建Oracle DB的时候,如果是在Linux系统的时候,会进行一些相关参数的设置。...shmmax内核参数定义的是系统允许的单个共享内存段的最大值。做个试验:kernel.shmmax=17179869180 [oracle@021Y-SH...
  • zabbix共享内存报错 cannot open log: cannot create...kernel.sem参数设置过小,共享内存信号量设置 共享内存: 可以通过ipcs -lm命令查看目前系统共享内存的参数限制 cat /proc/sys/kernel/sem 250 32000 100 128 ...
  • Linux 下进程通信 博客新址,这里更有趣在网络课程中,有讲到Socket编程,对于tcp讲解的环节,...共享内存的通信方式,系统根据我的偏好设置内存中开辟一块空间,并对其进行相应的指定,然后我们的另一个进程可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,765
精华内容 706
关键字:

共享系统内存设置