Sponsored Content
Top Forums Programming How can I get a processor's CPU Percentage? Post 302245051 by Kosala on Thursday 9th of October 2008 08:28:44 AM
Old 10-09-2008
I believe this is similar to what you read in /proc/stat on Linux. In Linux, you can read the timer ticks spent on user, system and IO, IRQ etc using /proc/stat. But you need to calculate the CPU % by adding the total time spent against each category. Generally following is a common approach. If you look at source of procps (vmstat.c) you might be able to get an idea how it's done on Linux.

All CPU = User + System + Idle time

User CPU % = User / All CPU * 100%

System CPU % = System / All CPU * 100%

But you have to check where you can place pr_cutime and pr_cstime. It looks like it's part of User time.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Clearify what it means under 'WHAT' when hit the 'w'-command

I wonder how I shall read the result below, especially 'what' shown below. The result was shown when I entered 'w'. E.g what is TOP? What is gosh ( what does selmgr mean?)? login@ idle JCPU PCPU what 6:15am 7:04 39 39 TOP 6:34am 6:45 45 45 TOP 6:41am ... (1 Reply)
Discussion started by: Aelgen
1 Replies

2. UNIX for Dummies Questions & Answers

CPU's

I have a question. Is Linux (Redhat 7.2 specifically) set up to run better/faster on a Pentium cpu vs. an AMD? The reason I ask is, I have a PIII 733 w/512 pc133, and a 4mb video card at work, and an AMD 1.4 w/1gb ddr, and a Radeon 64mb DDR at home, and the PIII at work runs a lot faster. I have a... (1 Reply)
Discussion started by: jeremiebarber
1 Replies

3. HP-UX

How to determine cpu&memory percentage usage per user

Using HP-UX v11 Need to monitor cpu and memory usage, total for system and separately for each user in command-line mode. Found out next ways to monitor total cpu usage under hp-ux: 1) vmstat, also shows free memory 2) sar -M ps -eo user,pcpu - does not work, means 'user-defined format'... (4 Replies)
Discussion started by: hp-ux-user
4 Replies

4. AIX

CPU Processor ID

Hallo, does anybody knows a trick to change the Processor ID in AIX 4.3.3. Thanks a lot (9 Replies)
Discussion started by: UXNI
9 Replies

5. Shell Programming and Scripting

get percentage cpu from pid

Hi all, I need a script that will check the cpu usage of a certain process and then kill the process if the % cpu is greater than 25%. I know i can get the pid of a process by doing pidof <processname>. Once I have the pid number is there a command in bash to return the current % cpu? (2 Replies)
Discussion started by: borderblaster
2 Replies

6. Shell Programming and Scripting

Help with bash script - Need to get CPU usage as a percentage

I'm writing a bash script to log some selections from a sensors output (core temp, mb temp, etc.) and I would also like to have the current cpu usage as a percentage. I have no idea how to go about getting it in a form that a bash script can use. For example, I would simply look in the output of... (3 Replies)
Discussion started by: graysky
3 Replies

7. Shell Programming and Scripting

Finding total Percentage CPU usage

Hi, How can I find total CPU usage in percentage? e.g. if my system has 8 CPUs and I want to list total usage for all of them, is it possible through a command? I have tried some of the commands like top, mpstat, sar. The output of those commands has to be manipulated to derive the percentage... (14 Replies)
Discussion started by: jal_capri
14 Replies

8. Hardware

Nodes/Processor/CPU's/threads/packages

Hello, can anyone explain me this jargon "Nodes/Processor/CPU's/threads/packages":confused: and what's the relation between these, I need to work on a cluster and I can not figure out the terminology. Thanks! any good link to read about these would also be very helpful Thanks! ... (1 Reply)
Discussion started by: nonothing
1 Replies

9. Solaris

CPU/processor/cores in M4000

Hi Gurus Can someone help me in explaining the below outputs . psrinfo -p 4 /usr/sbin/psrinfo -pv The physical processor has 4 virtual processors (0-3) SPARC64-VI (portid 1024 impl 0x6 ver 0x93 clock 2150 MHz) The physical processor has 4 virtual processors (8-11) SPARC64-VI... (3 Replies)
Discussion started by: ningy
3 Replies

10. Solaris

Capture PRSTAT based on CPU usage percentage

Hi, Recently i have write a simple script to capture CPU high usage based on prstat but i found out that it did capture correctly. I need to capture the rows that contains CPU usage more than 3%. Below line which i thought will capture CPU usage based CPU column in prstat(9th parameter) which is... (3 Replies)
Discussion started by: tharmendran
3 Replies
bind_to_cpu(3)						     Library Functions Manual						    bind_to_cpu(3)

NAME
bind_to_cpu - Bind execution to a specific CPU. LIBRARY
Mach Library (libmach.a) SYNOPSIS
#include <sys/types.h> #include <sys/resource.h> int bind_to_cpu( pid_t pid, unsigned long cpu_mask , unsigned long flag ); PARAMETERS
Specifies the target pid. You must have access rights to the pid. Specifies the CPU on which the thread should run. The target CPU is the bit index in the mask. If you set more than one bit, an error is generated. A cpu_mask of zero clears any previously set CPU binding. Specifies options to CPU binding. Currently only the option BIND_NO_INHERIT is supported. When set, this option causes child processes and threads to not inherit the CPU binding. DESCRIPTION
Upon return from bind_to_cpu, all threads of the target pid are running on the target CPU. Bound threads are not eligible for execution on any other CPU. You release CPU binding by invoking bind_to_cpu with a cpu_mask of zero. EXAMPLES
/* * Fork child process and force it to run on cpu number 3. * Processes created by the forked child will not inherit bindings. */ #include <sys/resource.h> #include <sys/sysinfo.h> #include <sys/signal.h> #include <sys/types.h> #define CPU_3 0x8 /* Bit 3 set */ main() { pid_t pid; if (pid = fork()) { /* parent */ if (bind_to_cpu(pid, CPU_3, BIND_NO_INHERIT)) { kill(pid, SIGKILL); exit(1); /* bind_to_cpu() will print error msg */ } sleep(2); /* wait for child to print CPU */ } else { /* child */ long cpu_num; sleep(1); /* wait for parent to bind CPU */ getsysinfo(GSI_CURRENT_CPU, &cpu_num, 0L, 0L, 0L); printf("child running on CPU %d ", cpu_num); } } In this example, the CPU_3 symbol is defined so that bit three in the bit mask is set. When the pid returned from the fork routine identi- fies the parent routine, the bind_to_cpu routine is called. This routine binds the child process to CPU number three, as specified in the CPU_3 symbol. When the pid returned from the fork routine identifies the child routine, the child routine sleeps to give the parent routine time to set its CPU binding. Then it uses the getsysinfo call to determine its CPU and displays its CPU with the printf routine. If the return value from the bind_to_cpu routine indicates an error, the parent process kills the child process and exits with an error status. RETURN VALUES
Upon successful completion, bind_to_cpu returns zero. Upon error, a -1 is returned. RELATED INFORMATION
Commands: runon(1) Functions: getsysinfo(2) delim off bind_to_cpu(3)
All times are GMT -4. The time now is 05:31 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy