VKTM程序消耗大量CPU的問題

2021-09-06 08:38:41 字數 1019 閱讀 9788

11g中引入了vktm後台程序,vktm是virtual keeper of time的縮寫,該程序負責提供時鐘時間(每秒更新一次)以及參考時間服務(每20ms更新一次,僅在程序高優先順序情況下可用),該參考時間服務用於各種基於時間間隔的度量。  vktm在sga中發布這些計時資訊,以便各種rdbms client可以廉價和快速了解時間資訊。wall-clock 時鐘時間每一秒更新一次且單調遞增。 而參考時間計數(reference-time)則每20ms更新一次,且僅當vktm執行在高優先順序情況下時可用。   在某些環境下vktm持續消耗較多的cpu,特別是在虛擬化的環境中例如vmware、vbox等; 對於這些虛擬化環境若是非產品production環境,則可以考慮將vktm程序不要執行在高優先順序上,雖然這會導致reference-time參考時間計數不可用,但是實際不會產生必要的效能度量不可用的問題。 在11g中預設_high_priority_processes 隱藏引數指定了lms*和vktm執行在高優先順序下,可以通過修改該引數,僅讓lms執行在高優先順序下,這樣vktm所消耗的cpu將明顯下降。 當讓我們不建議在產品環境中這樣做,如果你確實要這樣做,建議優先諮詢oracle support。 使用方法如下,注意需要重啟rdbms例項方才生效:

select x.ksppinm name, y.ksppstvl value, x.ksppdesc describ

from sys.x$ksppi x, sys.x$ksppcv y

where x.inst_id = userenv ('instance')

and y.inst_id = userenv ('instance')

and x.indx = y.indx

and x.ksppinm like '%high%';

sql> alter system set "_high_priority_processes"='lms*' scope=spfile;

system altered.

之後重啟instance

shutdown immediate;

startup;

程序 執行緒 協程對CPU的消耗

今天,不分享複雜高深的東西了,僅來聊聊程序 執行緒 協程對cpu的消耗問題,並用實際 來驗證,加深對這些概念的理解。另外,值得一提的是,程序 執行緒 協程幾乎是筆試面試必考的內容。而且,在實際開發中,也有必要深入理解這些基礎概念。c語言死迴圈程式如下 int main 開啟單程序,可以看到,大約消耗...

linux下檢視最消耗CPU 記憶體的程序

0 檢視程序占用的記憶體情況 ps aux awk end 1.cpu占用最多的前10個程序 ps auxw head 1 ps auxw sort rn k3 head 10 2.記憶體消耗最多的前10個程序 ps auxw head 1 ps auxw sort rn k4 head 10 3....

Linux終端檢視最消耗CPU記憶體的程序

1.cpu占用最多的前10個程序 2.記憶體消耗最多的前10個程序 3.虛擬記憶體使用最多的前10個程序 4.也可以試試 ps auxw sort rss ps auxw sort cpu 5.看看幾個引數含義 mem 程序的記憶體佔用率 majfl is the major page fault ...