合 Oracle中的ipcs、ipcrm、sysresv、kernel.shmmax等
Tags: Oracleipcrmipcssysresvkernel.shmmax
前言部分
ipcs、ipcrm、sysresv、kernel.shmmax
导读和注意事项
各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:
① ipcs的使用
② ipcrm释放oracle内存段
③ sysresv的使用
④ 内核参数kernel.shmmax
⑤ 如何快速的清理Oracle的进程
⑥ 其它维护操作
本文简介
最近有朋友因为kernel.shmmax内核参数的问题导致数据库不能启动。小麦苗之前碰到过一次,只是没有记录下来,而且以前安装数据库的时候也没有详细介绍这几个参数的含义,趁这次机会就把这个参数在详细介绍一下吧。
ipcs/ipcrm命令
unix/linux下的共享内存、信号量、队列信息管理
在Unix或Linux下,经常有因为共享内存、信号量,队列等共享信息没有干净地清除而引起一些问题。
查看共享内存的命令是:ipcs [-m|-s|-q]。若ipcs命令不带参数,则默认会列出共享内存、信号量,队列信息,而-m列出共享内存,-s列出共享信号量,-q列出共享队列。
清除命令是:ipcrm [-m|-s|-q] id,其中,-m删除共享内存,-s删除共享信号量,-q删除共享队列。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [oracle@rhel6lhr ~]$ ipcs -h ipcs provides information on ipc facilities for which you have read access. Resource Specification: -m : shared_mem -q : messages -s : semaphores -a : all (default) Output Format: -t : time -p : pid -c : creator -l : limits -u : summary -i id [-s -q -m] : details on resource identified by id usage : ipcs -asmq -tclup ipcs [-s -m -q] -i id ipcs -h for help. |
ipcs
1. 命令格式
ipcs [resource-option] [output-format]
ipcs [resource-option] -i id
2. 命令功能
提供IPC设备的信息
3. 使用方法
resource选项:
ipcs -m 查看系统共享内存信息
ipcs -q 查看系统消息队列信息
ipcs -s 查看系统信号量信息
ipcs [-a] 系统默认输出信息,显示系统内所有的IPC信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [martin@localhost data]$ ipcs -a ------ Message Queues -------- key msqid owner perms used-bytes messages ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000000 229376 martin 600 4194304 2 dest 0x00000000 196609 martin 600 524288 2 dest 0x00000000 327682 martin 600 393216 2 dest 0x00000000 491525 martin 600 2097152 2 dest ------ Semaphore Arrays -------- key semid owner perms nsems |
输出格式控制:
ipcs -c 查看IPC的创建者和所有者
ipcs -l 查看IPC资源的限制信息
ipcs -p 查看IPC资源的创建者和使用的进程ID
ipcs -t 查看最新调用IPC资源的详细时间
ipcs -u 查看IPC资源状态汇总信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [martin@localhost data]$ ipcs -u --human ------ Messages Status -------- allocated queues = 0 used headers = 0 used space = 0B ------ Shared Memory Status -------- segments allocated 4 pages allocated 1760 pages resident 339 pages swapped 0 Swap performance: 0 attempts 0 successes ------ Semaphore Status -------- used arrays = 0 allocated semaphores = 0 |
额外格式控制:
ipcs -l --human
以人类可以阅读的方式显示size
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | [martin@localhost data]$ ipcs -l --human ------ Messages Limits -------- max queues system wide = 3644 max size of message = 8K default max size of queue = 16K ------ Shared Memory Limits -------- max number of segments = 4096 max seg size = 16E max total shared memory = 16E min seg size = 1B ------ Semaphore Limits -------- max number of arrays = 128 max semaphores per array = 250 max semaphores system wide = 32000 max ops per semop call = 32 semaphore max value = 3276 [oracle@rhel6lhr ~]$ ipcs -l ------ Shared Memory Limits -------- max number of segments = 4096 max seg size (kbytes) = 98442 max total shared memory (kbytes) = 3221512 min seg size (bytes) = 1 ------ Semaphore Limits -------- max number of arrays = 2048 max semaphores per array = 250 max semaphores system wide = 256000 max ops per semop call = 100 semaphore max value = 32767 ------ Messages: Limits -------- max queues system wide = 7643 max size of message (bytes) = 65536 default max size of queue (bytes) = 65536 |
ipcrm
1. 命令功能
通过指定ID删除删除IPC资源,同时将与IPC对象关联的数据一并删除,只有超级用户或IPC资源创建者能够删除
2. 使用方法
ipcrm -M shmkey
移除用shmkey创建的共享内存段
ipcrm -m shmid
移除用shmid标识的共享内存段
ipcrm -S semkey
移除用semkey创建的信号量
ipcrm -s semid
移除用semid标识的信号量