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?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
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
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
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
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
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
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
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
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
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
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
nlist(3) Library Functions Manual nlist(3)
NAME
nlist - Gets entries from name list.
SYNOPSIS
#include <nlist.h>
nlist(filename, nl) char *filename; struct nlist nl[];
cc ... -lmld
DESCRIPTION
NOTE: The nlist subroutine has moved from the standard C library to the libmld.a library due to the difference in the object file format.
Programs that need to use nlist must be linked with the -lmld flag.
The nlist subroutine examines the name list in the given executable output file and selectively extracts a list of values. The name list
consists of an array of structures containing names, types and values. The list is terminated with a null name.
Each name is looked up in the name list of the file. If the name is found, the type and value of the name are inserted in the next two
fields. If the name is not found, both entries are set to 0.
For BSD compatibility, the nlist subroutine allows symbol names to be preceded by an underscore. If it does not find a symbol that matches
the name as specified, nlist attempts to locate the symbol name with the leading underscore removed.
For the structure declaration, see /usr/include/nlist.h.
To obtain up-to-date system addresses from the system name list kept in the file /vmunix, use the knlist subroutine. Alternatively, use
the getsysinfo function to obtain the name of the file from which the kernel was booted, prepend a slash character ("/") to this name, and
supply the prepended name to the nlist subroutine. Do not specify /vmunix as the filename to the nlist subroutine; nlist may return
invalid symbol addresses.
ERRORS
If the file cannot be found or if it is not a valid namelist, -1 is returned; otherwise, the number of unfound namelist entries is
returned.
The type entry is set to 0 if the symbol is not found.
RELATED INFORMATION
getsysinfo(2), knlist(3), a.out(4) delim off
nlist(3)