Sponsored Content
Full Discussion: Copy on Write page faults
Operating Systems HP-UX Copy on Write page faults Post 19067 by Perderabo on Friday 5th of April 2002 11:22:07 AM
Old 04-05-2002
There is no point in calling nlist if you are going to ignore the address it returns. If nlist isn't working, you need to fix the problem. There is a bit of a standard among system programmers: if you are going to read a kernel strucre called "cnt", you should call the structure in which you store it "cnt".
Code:
#include <sys/param.h>
#include <sys/unistd.h>
#include <nlist.h>
#include <stdio.h>
#include <fcntl.h>
#include <sys/vmmeter.h>
main()
  {
        int fp;
        static struct nlist nl[2] = { {"cnt"},  {NULL} };
        struct vmmeter cnt;
        int off;
        fp=open("/dev/kmem", O_RDONLY);
        nlist("/stand/vmunix",&nl);
        off=nl[0].n_value;
        lseek(fp,off,SEEK_SET);
        read(fp,cnt,sizeof(struct vmmeter));
        printf("%ld\n",cnt.v_free);

}

 

10 More Discussions You Might Find Interesting

1. HP-UX

Intransient blocking page faults

Hi, Will anybody tell me what is this 'intransient blocking page faults' in HP-UX, it is in the structure _pst_vminfo in the header file /ust/include/sys/pstat/vm_pstat_body.h? (4 Replies)
Discussion started by: sushaga
4 Replies

2. AIX

High Page Faults

Sorry my poor english In 570 pseries nmon shows excessive page faults, ascents of something more than 30000 Page faults. System: AIX 5.2 ML5 Processor Type: PowerPC_POWER5 Number Of Processors: 2 Processor Clock Speed: 1656 MHz CPU Type: 64-bit Kernel Type: 64-bit Memory Size: 2816 MB ... (1 Reply)
Discussion started by: daviguez
1 Replies

3. Shell Programming and Scripting

write page source to standard output

I'm new to PERL, but I want to take the page source and write it to a file or standard output. I used perl.org as a test website. Here is the script: use strict; use warnings; use LWP::Simple; getprint('http://www.perl.org') or die 'Unable to get page'; exit 0; ... (1 Reply)
Discussion started by: wxornot
1 Replies

4. Shell Programming and Scripting

Perl script to copy contents of a web page

Hi All, Sorry to ask this question and i am not sure whether it is possible. please reply to my question. Thanks in advance. I need a perl script ( or any linux compatible scripts ) to copy the graphical contents of the webpage to a word pad. Say for example, i have a documentation site... (10 Replies)
Discussion started by: anand.linux1984
10 Replies

5. AIX

Lots of page faults and free memory

Hello, I've been reading your forums for quite a while and the great amount of information I find here always come in hand.This time however, I need some specific help... I have a doubt with an AIX server which I'm failing to understand as I'm new to its concept of memory management... ... (8 Replies)
Discussion started by: flpgdt
8 Replies

6. AIX

Lots of page faults on AIX mySQL lpar

Hi, OS = AIX 5.3 Large number of page faults recently start to occure on AIX 5.3 lpar with mysql database installed. I need help in setting AIX OS parameter to solve the paging problem and some guidance on interpreting my stats t Code: # vmstat... (5 Replies)
Discussion started by: crosys
5 Replies

7. UNIX for Advanced & Expert Users

How to write a UNIX man page

I realise that with GNU 'info' a lot of developers become, dare I say it, quite lazy when it comes to providing a well written man page - and some argue they're not needed at all. But I find, in the products that I develop, that man pages are used more often for quick reference, and therefore the... (1 Reply)
Discussion started by: cambridge
1 Replies

8. AIX

AIX 7.1 high page faults

hi guys i hope you can help me with this situation. i have 2 lpar with aix 7.1 and oracle 11gr2 in grid mode. when i start nmon to check the current system health i notice that page fault are over 3000/s. than i have opened a case with ibm and they say that the problem is not paging nor... (10 Replies)
Discussion started by: gullio23
10 Replies

9. Solaris

Page faults on OS

Hi guys, I have a zone on a M5000 server running solaris 10. The zone has an SAP application running on it and facing some performance issues. As part of the troubleshooting, I've been recommended to look for any paging on the OS. Please advise how to look for the paging. I've been looking at... (4 Replies)
Discussion started by: frum
4 Replies

10. Shell Programming and Scripting

Copy text from web page and add to file

I need help to make a script for Ubuntu to OSCam that copy the text on this website that only contains "C: ip port randomUSERNAME password" and want to exclude the text "C:" and replace the rest with the old in my test.server file. (line 22) device = ip,port (line 23) user =... (6 Replies)
Discussion started by: baxarn
6 Replies
knlist(3)						     Library Functions Manual							 knlist(3)

NAME
knlist - Look up symbols in the currently running kernel LIBRARY
Standard C Library (libc.a, libc.so) SYNOPSIS
#include <nlist.h> int knlist( struct nlist namelist); PARAMETERS
On input, lists the symbol names for which you are requesting addresses. The namelist must be terminated with a null name at end. Without a terminating null name at end, knlist() cannot determine how many symbols there are in the namelist and therefore it may dump core. On return, contains a list of symbol addresses (or 0 if the attempt to find the addresses was unsuccessful). DESCRIPTION
The knlist() library routine looks up addresses of kernel symbols in the currently running kernel. In addition to finding symbols associ- ated with the kernel image, knlist() will also find symbols defined in dynamically loaded subsystems. Communication with the knlist() routine occurs using an array of type struct nlist. The <nlist.h> header file declares that type as fol- lows: struct nlist{ char *n_name; unsigned long n_value; short n_type; /* 0 if not there, 1 if found */ short reserved; }; When your application calls knlist() it passes the names of symbols in the n_name field of the structure. For each symbol, the knlist() routine attempts to determine its current address in memory. If the routine can determine the address of the symbol, it returns that address in the n_value field, and it returns one(1) in the n_type field. If the routine cannot determine the address, it returns zero(0) in both the n_value field and the n_type field. For BSD compatibility, the knlist routine allows symbol names to be preceded by an underscore. If it does not find a symbol that matches the name as specified, knlist attempts to locate the symbol name with the leading underscore removed. EXAMPLES
The following example illustrates the use of the knlist() routine: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <nlist.h> main () { struct nlist nl[3]; int retval, i; nl[0].n_name = (char *)malloc(10); nl[1].n_name = (char *)malloc(10); nl[2].n_name = ""; /*******************************************************/ /* Store names of kernel symbols in the nl array */ strcpy (nl[0].n_name, "ncpus"); strcpy (nl[1].n_name, "lockmode"); /*******************************************************/ /* Call the knlist routine */ retval = knlist(nl); /******************************************************/ /* Display addresses if returned. Otherwise, display */ /* the appropriate error message. */ if (retval < 0) printf ("No kernel symbol addresses returned. "); else if (retval >= 0 ) for (i=0; i<2; i++) if (nl[i].n_type == 0) printf ("Unable to return address of symbol %s ", nl[i].n_name); else printf ("The address of symbol %s is %lx ", nl[i].n_name, nl[i].n_value); free (nl[0].n_name); free (nl[1].n_name); } This example tests the return value from the knlist() routine. If the routine returns an error status, a message is displayed to the application user. Otherwise, the application checks the status of each kernel symbol. If the knlist() routine was unable to return an address, the application displays a message and the symbol name. If the knlist() routine returns an address, the application displays the symbol name and address to the application user. RETURN VALUES
The knlist() routine returns zero on success. The routine returns -1 if it was unable to connect to the kloadsrv daemon. In this case, the routine was unable to determine any of the requested addresses. The routine returns a positive integer if it successfully finds some addresses and fails to find others. The integer value indicates the number of addresses knlist() was unable to return. The routine returns the negative value of EINVAL if the argument is bad. RELATED INFORMATION
Routines: nlist(3) delim off knlist(3)
All times are GMT -4. The time now is 03:00 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy