summaryrefslogtreecommitdiff
path: root/util/processinfo.h
blob: 13e4a02655977d738170ed15081562f5bc344dec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// processinfo.h

#pragma once

#include <sys/types.h>

#ifndef _WIN32
#include <unistd.h>
#else
typedef int pid_t;
int getpid();
#endif

namespace mongo {
    
    class ProcessInfo {
    public:
        ProcessInfo( pid_t pid = getpid() );
        ~ProcessInfo();
        
        /**
         * @return mbytes
         */
        int getVirtualMemorySize();

        /**
         * @return mbytes
         */
        int getResidentSize();
        
        bool supported();

    private:
        pid_t _pid;
    };

}