[linux] pmap

Cecil Westerhof CecilWesterhof op xs4all.nl
Wo Jun 28 11:06:52 CEST 2006


Om te controleren of pmap kan worden gebruikt om het geheugen gebruik
van een proces te controleren (er waren mensen die dachten dat pmap
gealloceerd geheugen niet toont) gebruik ik het volgende programma:

        #include <stdio.h>
        
        int main(void) {
        int   i, *intArray;
        
            printf("1. Voor new.\n");
            getc(stdin);
            intArray = new int [20000];
            printf("2. Na new.\n");
            getc(stdin);
            delete [] intArray;
            printf("3. Na delete.\n");
            getc(stdin);
            for(i = 0; i < 10000000; ++i) {
                intArray = new int [20000];
                delete [] intArray;
            }
            intArray = new int [20000];
            printf("4. Na new.\n");
            getc(stdin);
            delete [] intArray;
            printf("5. Na delete.\n");
            getc(stdin);
            intArray = new int [200000];
            printf("6. Na new.\n");
            getc(stdin);
            delete [] intArray;
            printf("7. Na delete.\n");
            getc(stdin);
        }

Als ik 'pmap -d <PID>' bij de verschillende stappen gebruik, krijg ik
voor writeable/private de volgende waardes:
        1	104
        2	236
        3	236
        4	236
        5	236
        6	1020
        7	236

Hier kan ik nog wel min of meer bijkomen. Echter het systeem waar ik het
gisteren bij probeerde (CentOS die overeenkomt met RHES 3), ging van
stap 2 naar 3 het geheugen gebruik omlaag, maar was wel hoger dan bij
stap 1. (Ook nog wel min of meer te verklaren.) Maar stappen 4, 5 en 7
hadden hetzelfde geheugen verbruik als stap 3. Dit komt op mij een
beetje vreemd over. Heeft iemand een idee wat hier aan de hand kan zijn?

Op dit moment heb ik niet de beschikking over het systeem van gisteren.
Zodra ik dat heb, zal ik de waardes daar doorgeven.

-- 
Cecil Westerhof <CecilWesterhof op xs4all.nl>



More information about the Linux mailing list