1833722 Members
2389 Online
110063 Solutions
New Discussion

process utiliztion.

 
SOLVED
Go to solution
???_185
Regular Advisor

process utiliztion.

I think hp-ux has multi-processor machine,not the multi-thread.
because i distinguish these two difference.
there is one way how does process is using.
for example, a oracle process and other sub process works in hp-ux has 4 cpu.
I can check by top tool.the process is using in a cpu. and then is used with another cpu. but I can't certain the process works in mutl-process.isn't it right multi-processor works with 4 cpus in the load-balance.
how can I check hp-ux multi-processor works.
6 REPLIES 6
Steven E. Protter
Exalted Contributor

Re: process utiliztion.

First, now threads are handled depends not only the OS but the application.

There is a good discussion on how process threading works in Charles Keenan's book, HP-UX CSA.

http://www.amazon.com/exec/obidos/tg/detail/-/0131463969/qid=1126787153/sr=1-1/ref=sr_1_1/103-0412326-3783843?v=glance&s=books

Its sixty or so pages, so I won't try and summarize.

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
Alex Lavrov.
Honored Contributor

Re: process utiliztion.

I don't think I clearly understand the question, but one process can utilize only one CPU at the time ...

So if you mean that you want oracle process run on several CPU's, it's impossible.

Alex.
I don't give a damn for a man that can only spell a word one way. (M. Twain)
Bill Hassell
Honored Contributor
Solution

Re: process utiliztion.

There is no way to make the operating system split a single process across multiple CPUs. The reason is simple: you can't work on another part of the process until the previous instructions are completed. In other words, all programs are a series of instructions tyhat must be run in order. If you run 4 separate copies of the program, you will see each copy on a separate processor (assuming no disk or network activity). As mentioned, unless your application has thread capability, there is nothing you can do to make the program load balance across the processors. Modern database programs have thread capability and is enabled in the database configuration file.


Bill Hassell, sysadmin
Marcel Boogert_1
Trusted Contributor

Re: process utiliztion.

Hi there,

One process runs on one CPU within Oracle. But different processes run on differents CPU's. So you can have the smon process on cpu0 and the lgwr process on cpu1 and so on.

I don't see the beauty of one process running on 4 cpu's. You can hang your complete server with one process.

Regards, MB.
Tim D Fulford
Honored Contributor

Re: process utiliztion.

A single process with multiple threads means that each of the threads have the capability of accessing the same memory segment the process is using.

What this actually means is that if you compare MT process with running multiple single threadded processes, when one process is blocked (say on IO) the whole process is swapped out and the next process is swapped in (context switching). Context switching has a high overhead, as pointers, stacks etc are all unloaded and loaded onto the running CPU. However, for a multi threadded process this is more efficient as you do not need to do a full context switch, but a lighter weight thread switch. This means in the same situation (blocked on IO) a thread switch is more efficient as the memory etc stay in the CPU.

You can monitor threads using glance, and the column "Thd cnt" on the processes, and you can also monitor the threads within the process within glance.

regards

Tim
-
Arunvijai_4
Honored Contributor

Re: process utiliztion.

Multithreading is depends on the application, not on OS. All the modern Unix supports threading model including HP-UX 11i. Try using Glance to check the processor utilization.

-Arun
"A ship in the harbor is safe, but that is not what ships are built for"