天天看点

隐藏参数_high_priority_processes与oradism

转载连接:http://www.askmaclean.com/archives/%E9%9A%90%E8%97%8F%E5%8F%82%E6%95%B0_high_priority_processes%E4%B8%8Eoradism.html

运行在操作系统上的进程存在2种系统时序优先级模式:即 实时模式 Real Time(RT) mode, 与分时模式 Time Sharing(TS) mode.

绝大多数Oracle进程运行在TS模式下:

如上所示所有进程均运行在TS模式下且priority均为23|24.

Oracle一般不推荐使用RT模式,因为虽然个别进程可以通过这种方式获得更多的CPU资源,但往往系统的瓶颈并非CPU,即尽管CPU使用率高了,但实际系统TPS并未得到提升。

在10gr2版本后RAC中的LMS进程成为唯一一个使用RT模式的Oracle进程,我们可以通过查询参数_high_priority_processes了解相关信息:

_high_priority_processes通过进程功能名进行匹配,下面我们将提高LGWR及PMON进程的优先级:

好了lgwr和pmon进程也进入实时模式了,同时priority值上升到了41.

注意:

Oracle默认仅允许LMS进程(11g中多了VKTM进程)使用RT模式是有它的原因的,所以如果不是Oracle support 推荐,您没有任何修改隐式参数的理由。

其次根据Oracle文档[ID 602419.1]的描述,oradism文件(该文件位于$ORACLE_HOME/bin目录下)不正确的权限将导致RT模式无法被正确使用,该文件默认属于root用户并具有s权限。如下测试:

that’s great, 显然oradism不仅为Oracle实例提供了内存资源控制功能,还包括了进程优先级分配的权限。

我们应当再次声明hidden parameter不应“滥用”于production environment.