您现在的位置:首页 --> 查看专题: 共享内存
我们都知道加锁是有开销的,不仅仅是互斥导致的等待开销,还有加锁过程都是有系统调用到内核态的,这个过程开销也很大,有一种互斥锁叫Futex锁(Fast User Mutex),Linux从2.5.7版本开始支持Futex,快速的用户层面的互斥锁,Fetux锁有更好的性能,是用户态和内核态混合使用的同步机制,如果没有锁竞争的时候,在用户态就可以判断返回,不需要系统调用,当然任何锁都是有开销的,能不用尽量不用,使用双Buffer,释放链表,引用计数,都可以在一定程度上替代锁的使用。
在数据库启动之后,需要从操作系统上分配共享内存和信号量(Semaphore)资源,而在某些情况下,数据库异常关闭后,这些资源有可能无法正常释放,则在下次启动时,数据库可能遭遇错误,无法正常启动。 在一个客户环境(操作系统为SUN Solaris平台)中出现了ORA-04031错误之后,使用了shutdown abort选项关闭了数据库
[ 共3篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
-
[64] memory prefetch浅析
-
[52] 转载:cassandra读写性能原理分析
-
[49] 深入浅出cassandra 4 数据一致性问
-
[40] 获取Dom元素的X/Y坐标
-
[40] JS中如何判断字符串类型的数字
-
[39] 《web前端最佳实践》—高维护性css
-
[39] MySQL半同步存在的问题
-
[39] 字符引用和空白字符
-
[38] javascript插入样式
-
[38] 基本排序算法的PHP实现
赞助商广告