mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-04 17:10:47 +00:00
Pick resident set memory for current memory usage on linux
* The virtual size can be much bigger than the actual amount of memory in use that we care about.
This commit is contained in:
@@ -186,6 +186,8 @@ uint64_t Process::GetMemoryUsage()
|
||||
char line[512] = {};
|
||||
fgets(line, 511, f);
|
||||
|
||||
FileIO::fclose(f);
|
||||
|
||||
uint32_t vmPages = 0;
|
||||
int num = sscanf(line, "%u", &vmPages);
|
||||
|
||||
|
||||
@@ -211,6 +211,8 @@ uint64_t Process::GetMemoryUsage()
|
||||
char line[512] = {};
|
||||
fgets(line, 511, f);
|
||||
|
||||
FileIO::fclose(f);
|
||||
|
||||
uint32_t vmPages = 0;
|
||||
int num = sscanf(line, "%u", &vmPages);
|
||||
|
||||
|
||||
@@ -675,11 +675,13 @@ uint64_t Process::GetMemoryUsage()
|
||||
char line[512] = {};
|
||||
fgets(line, 511, f);
|
||||
|
||||
uint32_t vmPages = 0;
|
||||
int num = sscanf(line, "%u", &vmPages);
|
||||
FileIO::fclose(f);
|
||||
|
||||
if(num == 1 && vmPages > 0)
|
||||
return vmPages * (uint64_t)sysconf(_SC_PAGESIZE);
|
||||
uint32_t rssPages = 0;
|
||||
int num = sscanf(line, "%*u %u", &rssPages);
|
||||
|
||||
if(num == 1 && rssPages > 0)
|
||||
return rssPages * (uint64_t)sysconf(_SC_PAGESIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -39,11 +39,13 @@ uint64_t GetMemoryUsage()
|
||||
char line[512] = {};
|
||||
fgets(line, 511, f);
|
||||
|
||||
uint32_t vmPages = 0;
|
||||
int num = sscanf(line, "%u", &vmPages);
|
||||
fclose(f);
|
||||
|
||||
if(num == 1 && vmPages > 0)
|
||||
return vmPages * (uint64_t)sysconf(_SC_PAGESIZE);
|
||||
uint32_t rssPages = 0;
|
||||
int num = sscanf(line, "%*u %u", &rssPages);
|
||||
|
||||
if(num == 1 && rssPages > 0)
|
||||
return rssPages * (uint64_t)sysconf(_SC_PAGESIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user