Visit Our UNIX and Linux User Community


How can I get a processor's CPU Percentage?


 
Thread Tools Search this Thread
Top Forums Programming How can I get a processor's CPU Percentage?
# 1  
Old 10-16-2001
How can I get a processor's CPU Percentage?

you know that.. in HP-UX..
in sys/pstat.h

struct pst_status {
long pst_idx; /* Index for further pstat() requests */
long pst_uid; /* Real UID */
long pst_pid; /* Process ID */
....
float pst_pctcpu; /* %cpu for this process during p_time
....
}

when, need to get a processor's cpu used %,
we use pst_status.pst_pctcpu..
but i want to know other way.. not use pst_status.pst_pctcpu.
How can I get that??

and what is p_time ??
# 2  
Old 10-16-2001
Kernels always have some code built in to gather statistics. In the case of cpus, several times a second a clock routine fires off and increments one element of a structure. The structure will have counters for idle, user, system, and so on.

In the old days, you could get the structure if you knew its name. You would run nlist(3) on the kernel's symbol table to get the address of the structure. Then you opened /dev/kmem. did a seek to the address and read the structure. The c definations of the structures were usually in /usr/include. This still can be made to work on hp-ux, but the required information is no longer supplied in /usr/include. Skilled gurus can reverse-engineer it, but it's difficult. Vic Able has done this to get lsof to work on recent versions of HP-UX, a feat that very few could match.

New system calls like pstat are the way of the future. And pstat works well enough. Why do you want an alternative?
# 3  
Old 10-17-2001
because..

first of all..
thanks for your kindly reply..

I want to know about getting cpu percentage not use structure
because in SCO-UNIX, there is no cpu percentage ..but only
cpu time ( timestruc_t pr_utime; )
so.. I asked get that percantage without structure..

I can get get cpu percentage in HP-UX using pstat.h..
but.. How can I get cpu percentage in SCO-UNIX ??

/** SCO-UNIX , procfs.h **/
typedef struct pstatus {
....
pid_t pr_pid; /* Process id */
pid_t pr_ppid; /* Parent process id */
pid_t pr_pgid; /* Process group id */
pid_t pr_sid; /* Session id */
timestruc_t pr_utime; /* Process user cpu time */
timestruc_t pr_stime; /* Process system cpu time */
timestruc_t pr_cutime; /* Sum of children's user times */
timestruc_t pr_cstime; /* Sum of children's system times */
sigset_t pr_sigtrace; /* Mask of traced signals */
fltset_t pr_flttrace; /* Mask of traced faults */
sysset_t pr_sysentry; /* Mask of system calls traced on
} pstatus_t;
# 4  
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.

Previous Thread | Next Thread
Test Your Knowledge in Computers #207
Difficulty: Easy
Open Shortest Path First (OSPF) is a routing protocol for Internet Protocol (IP) networks which uses a link state routing (LSR) algorithm.
True or False?

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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

Featured Tech Videos