blob: 1cc8145e90565f06192bd8e28dd56a979dcfcba3 [file] [log] [blame]
#include <arpa/inet.h>
#include <cutils/sockets.h>
#include <fcntl.h>
#include <hardware/gralloc.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <unistd.h>
#include <algorithm>
#include <chrono>
#include <fstream>
#include <iostream>
#include <numeric>
#include <string>
#include <tuple>
#include <vector>
#include <android-base/stringprintf.h>
#include <meminfo/procmeminfo.h>
using namespace std;
#define BUFFER_SIZE (1024 * 1024 * 1024)
int main(int, char**) {
// waste a bunch of memory
void* src = malloc(BUFFER_SIZE);
for (size_t i = 0; i < BUFFER_SIZE; i++) {
((char*)src)[i] = (char)i;
}
void* dst = malloc(BUFFER_SIZE);
memcpy(dst, src, BUFFER_SIZE);
uint64_t pss;
// should always return true
std::string pid_path = android::base::StringPrintf("/proc/%d/smaps", getpid());
while (android::meminfo::SmapsOrRollupPssFromFile(pid_path, &pss))
;
return 0;
}