600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > OracleStudy之–IPCS管理共享内存

OracleStudy之–IPCS管理共享内存

时间:2020-03-10 16:01:57

相关推荐

OracleStudy之–IPCS管理共享内存

数据库|mysql教程

OracleStudy,–IPCS,管理,共享,内存,Or

数据库-mysql教程

o2o商城系统源码,vscode打开命令行窗口,ubuntu多个终端,tomcat日志url统计,爬虫 爬取,Jcrop 配合php,湘潭百度seo优化价格lzw

Oracle Study之–IPCS管理共享内存 U nix/linux下的共享内存、信号量、队列信息管理 在unix/linux下,经常有因为共享内存、信号量,队列等共享信息没有干净地清除而引起一些问题。 查看共享信息的内存的命令是:ipcs [-m|-s|-q]。 默认会列出共享内存、信号量

cocos2d棋牌源码,ubuntu时区出现警告,tomcat找不到主类,淘宝爬虫uv,php多个城市切换特效,seo 价值lzw

java邮件系统源码,ubuntu 忘记管理密码,爬虫爬取原理,shopn php,海东网站seolzw

Oracle Study之–IPCS管理共享内存

Unix/linux下的共享内存、信号量、队列信息管理

在unix/linux下,经常有因为共享内存、信号量,队列等共享信息没有干净地清除而引起一些问题。

查看共享信息的内存的命令是:ipcs [-m|-s|-q]。

默认会列出共享内存、信号量,队列信息

-m列出共享内存

-s列出共享信号量

-q列出共享队列

清除命令是:ipcrm [-m|-s|-q] id。

-m 删除共享内存

-s删除共享信号量

-q删除共享队列。

案例分析:

[oracle@trade_as02 ~]$ ipcs -a------ Shared Memory Segments --------key shmidownerpermsbytesnattchstatus0x30024289 32768futures 777 5283841 0xca2fd414 491521oracle 640 1730150400 16 ------ Semaphore Arrays --------key semidownerpermsnsems0x00028009 0futures 666 1 0x0002800c 32769futures 666 1 0x30024003 262146futures 777 3 0x3002428a 294915futures 777 2 0x3002428b 327684futures 777 2 0x3002428c 360453futures 777 2 0x3002428d 393222futures 777 2 0x3002428e 425991futures 777 2 0x52dff7d0 3964936 oracle 640 151 0x52dff7d1 3997705 oracle 640 151 0x52dff7d2 4030474 oracle 640 151 0x52dff7d3 4063243 oracle 640 151 0x52dff7d4 4096012 oracle 640 151 ------ Message Queues --------key msqidownerpermsused-bytes messages

共享内存段有时不能马上删除,需使用这个内存段的所有进程向OS发送detach命令时才有释放,此时可以考虑删除进程使用的信号量,帮助释放共享内存段

相关知识:信号量、资源释放、ipcs、ipcrm

信号量又称为信号灯,它是用来协调不同进程间的数据对象的,而最主要的应用是共享内存方式的进程间通信。本质上,信号量是一个计数器,它用来记录对某个资源(如共享内存)的存取状况;共享内存是运行在同一台机器上的进程间通信最快的方式,因为数据不需要在不同的进程间复制。通常由一个进程创建一块共享内存区,其余进程对这块内存区进行读写。在Linux系统下 ,常用的方式是通过shmXXX函数族来实现利用共享内存进行存储的。如Shmget,类似于 malloc函数

ipcs可用来显示当前Linux系统中的共享内存段、信号量集、消息队列等的使用情况。

命令示例:ipcs -a或ipc 显示当前系统中共享内存段、信号量集、消息队列的使用情况;ipcs -m 显示共享内存段的使用情况;ipcs -s 显示信号量集的使用情况;ipcs -q 显示消息队列的使用情况;

ipcrm可用来删除对应的共享内存段、信号量、消息队列;

命令示例:ipcrm -s semid 删除对应的信号量集ipcrm -m shmid 删除对应的共享内存段ipcrm -q msqid 删除对应的消息队列ipcrm本身只能实现单个资源的删除,利用以下命令可实现批量删除:1.ipcs -s|grep 用户名|cut -d" " -f2|xargs -n1 ipcrm -s2.ipcs -s|awk /用户名/{print $2}|xargs -n1 ipcrm -s3.ipcs -s|awk /用户名/{system("ipcrm -s "$2)}4.for i in echo `ipcs|grep 用户名|cut -d" " -f2`; do ipcrm -s $i; done

更深入的了解:

Oracle 内存段参数设定:[root@rh6 ~]# sysctl -pnet.ipv4.ip_forward = 0net.ipv4.conf.default.rp_filter = 1net.ipv4.conf.default.accept_source_route = 0kernel.sysrq = 0kernel.core_uses_pid = 1net.ipv4.tcp_syncookies = 1error: "net.bridge.bridge-nf-call-ip6tables" is an unknown keyerror: "net.bridge.bridge-nf-call-iptables" is an unknown keyerror: "net.bridge.bridge-nf-call-arptables" is an unknown keyfs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 536870912kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048586

650) this.width=650;” src=”///uploads/allimg/151111/121T62253-0.jpg” alt=”OracleStudy之–IPCS管理共享内存” title=”OracleStudy之–IPCS管理共享内存” />

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。