您现在的位置:首页 --> 查看专题: 共享内存
我们都知道加锁是有开销的,不仅仅是互斥导致的等待开销,还有加锁过程都是有系统调用到内核态的,这个过程开销也很大,有一种互斥锁叫Futex锁(Fast User Mutex),Linux从2.5.7版本开始支持Futex,快速的用户层面的互斥锁,Fetux锁有更好的性能,是用户态和内核态混合使用的同步机制,如果没有锁竞争的时候,在用户态就可以判断返回,不需要系统调用,当然任何锁都是有开销的,能不用尽量不用,使用双Buffer,释放链表,引用计数,都可以在一定程度上替代锁的使用。
在数据库启动之后,需要从操作系统上分配共享内存和信号量(Semaphore)资源,而在某些情况下,数据库异常关闭后,这些资源有可能无法正常释放,则在下次启动时,数据库可能遭遇错误,无法正常启动。 在一个客户环境(操作系统为SUN Solaris平台)中出现了ORA-04031错误之后,使用了shutdown abort选项关闭了数据库
[ 共3篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [102] WEB系统需要关注的一些点
- [16] 浏览器的工作原理:新式网络浏览器幕后揭秘
- [13] Spark性能优化——和shuffle搏斗
- [12] 我的git笔记
- [12] 一次神奇的MySQL优化
- [12] Android设计中的.9.png
- [11] Python 代码规范小结
- [11] 内网穿透神器frp
- [10] InnoDB insert性能拐点测试
- [10] Python程序的执行原理
赞助商广告