Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: 100% CPU utilization, urgent
On Mon, 20 Jan 2003, Koivu, Lisa wrote:
> Thomas, thanks for your post.
>
> However I don't see where I can match the threads on NT to what I see in
> Task Manager. Am I missing something?
>
> To be more explicit, here's what I've got:
>
Lisa,
The point you're missing is that Task Manager shows _processes_ and the view is showing _threads_ . They're 2 distinct constructs. In its simplest sense a thread is an independently executing 'thread of execution' from a main task. This is how you see one process for ORACLE.EXE and its running multiple threads (PMON, SMON etc) if you look at the process using a tool such as PVIEW or PSTAT.
Processes are spawned using the CreateProcess() API call and a process then spins off multiple threads using another call such as AfxBeginThread() (in C++). The threads all operate independently of each other and the programmer must be careful when accessing common areas of memory simultaneously by different threads. This is why in a Dr. Watson dump you will see what each thread is doing and one or more of them will usually be running WaitForSingleObject() which is a WIN32 way of serializing access to shared _process_ memory.
Contrast this to the multi-process architecture that Oracle uses on Unix. The shared memory stuctures are separate from each individual _process_ and the processes use semaphores or latches to serialize access to the external memory segment.
HTH Jeff Herrick
-- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Jeff Herrick INET: jherrick_at_igs.net Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Mon Jan 20 2003 - 10:39:31 CST
![]() |
![]() |