Cpu usage


 
Thread Tools Search this Thread
Top Forums Programming Cpu usage
# 1  
Old 11-28-2008
Cpu usage

Hi all,


When I have a below while loop in my code (This observation is same for C and Perl)

i= 0;
while(1)
{
i++;
}

for above the CPU uses goes beyond 49% on hp-ux machine, why cpu usage increase at this level for just a simple while loop?

and if I have a single print statement (as shown below) under this while then cpu usage decrease and comes at normal level i.e. 0.9 or 1%

i= 0;
while(1)
{
i++;
printf("%d\n", i);

}
Also adding few mili seconds sleep inside the while loop results reducing the CPU usage

any idea why it happens and how we can avoid the CPU usage?

Thanks....
# 2  
Old 11-28-2008
Your while loop does nothing but compute. It tries to use as much cpu as it can get. Outputing some data and sleeping do not use the cpu. I don't understand why you find any of this confusing.

As for avoiding cpu usage, you actually show two ways to do this. I don't understand why you then pose the question.

But there is nothing wrong with using the cpu if that is what your program needs to do. It's the kernel's job to ensure that all processes are allowed to run. The kernel will limit your process' cpu usage as it needs to. In general, a cpu bound process can hog the cpu for a few seconds, but its priority will be worsened as a result. It soon will have to least priority of any process and will find itself running only when the kernel can't find anything else to do.

At most, the only thing you need to do is to consider adding a nice() call like this:
nice(5);
This is a clue to the kernel to lower your process' priority.
# 3  
Old 11-30-2008
Quote:
Originally Posted by zing_foru
i= 0;
while(1)
{
i++;
}

for above the CPU uses goes beyond 49% on hp-ux machine, why cpu usage increase at this level for just a simple while loop?
You should have asked that question instead "Why isn't the CPU load 100% with that loop" and the answer would have been "Because your process is single threaded while your OS has 2 CPUs available and no other process significantly load the system".

With the printf statement added, the process is no more CPU bounded but I/O bounded. The reason why the CPU load is much slower.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. HP-UX

CPU Usage

Hi Experts, We encountered problem in one of the production system where some processes were taking higher CPU and after some time it came back to normal.. From system prespective, is there any way to check why processes took more cpu during that particular period. (16 Replies)
Discussion started by: sai_2507
16 Replies

2. AIX

Overall CPU Usage

Hi Guys, I am a newbie on the forum. This is my first post, so first of all I would like to introduce myself. I am a SAS Analyst programmer working for an Health Insurance client. SAS is installed on a 16 CPU AIX Server with partitions running with shared processor. I have couple of... (2 Replies)
Discussion started by: saurabhiim2003
2 Replies

3. Programming

CPU usage

Hi all, I'm using python and psutil a library to get system informations like cpu usage (percent) for a given process. My question is if I have the value in % of the cpu usage how I could get the cpu usage in cycle number I mean not in percent? Thanks a lot D. (5 Replies)
Discussion started by: Dedalus
5 Replies

4. AIX

How to monitor the IBM AIX server for I/O usage,memory usage,CPU usage,network..?

How to monitor the IBM AIX server for I/O usage, memory usage, CPU usage, network usage, storage usage? (3 Replies)
Discussion started by: laknar
3 Replies

5. Solaris

Multi CPU Solaris system shows 100% CPU usage.

Hello Friends, On one of my Solaris 10 box, CPU usage shows 100% using "sar", "vmstat". However, it has 4 CPUs and prstat and glance are not showing enough processes to justify high CPU utilization. ========================================================================= $ prstat -a ... (4 Replies)
Discussion started by: mahive
4 Replies

6. Solaris

current CPU usage, memory usage, disk I/O oid(snmp)

Hi, I want to monitor the current cpu usage, monitor usage , disk I/o and network utlization for solaris using SNMP. I want the oids for above tasks. can you please tell me that Thank you (2 Replies)
Discussion started by: S_venkatesh
2 Replies

7. HP-UX

how can I find cpu usage memory usage swap usage and logical volume usage

how can I find cpu usage memory usage swap usage and I want to know CPU usage above X% and contiue Y times and memory usage above X % and contiue Y times my final destination is monitor process logical volume usage above X % and number of Logical voluage above can I not to... (3 Replies)
Discussion started by: alert0919
3 Replies

8. UNIX for Advanced & Expert Users

Cpu Usage

System FreeBSD. Issue: I see that system idle = 0% in the same time top and other commands show that all process eat 0% of cpu. System calls 98% CPU states: 7.9% user, 0.0% nice, 91.8% system,<==!!! But top does not show any process which eats more than 0% Question: how can I see... (0 Replies)
Discussion started by: mirusnet
0 Replies

9. Programming

CPU usage and memory usage

Please tell me solaris functions/api for getting following information 1- Function that tells how much memory used by current process 2- Function that tells how much memory used by all running processes 3- Function that tells how much CPU is used by current process 4- Function that tells how... (1 Reply)
Discussion started by: mansoorulhaq
1 Replies

10. Programming

Monitor CPU usage and Memory Usage

how can i monitor usages of CPU, Memory, Hard disk etc. under SUN Solaries through a c program or java program i want to store that data into database so i can show it graphically thanks in advance (2 Replies)
Discussion started by: Gajanad Bihani
2 Replies
Login or Register to Ask a Question