@@ -1927,8 +1927,7 @@ get_process_mem_usage(void)
1927
1927
}
1928
1928
1929
1929
#elif __linux__
1930
- // Linux, use smaps_rollup (Kernel >= 4.4) for RSS + Swap
1931
- FILE * fp = fopen ("/proc/self/smaps_rollup" , "r" );
1930
+ FILE * fp = fopen ("/proc/self/status" , "r" );
1932
1931
if (fp == NULL ) {
1933
1932
return -1 ;
1934
1933
}
@@ -1938,11 +1937,11 @@ get_process_mem_usage(void)
1938
1937
long long swap_kb = -1 ;
1939
1938
1940
1939
while (fgets (line_buffer , sizeof (line_buffer ), fp ) != NULL ) {
1941
- if (rss_kb == -1 && strncmp (line_buffer , "Rss :" , 4 ) == 0 ) {
1942
- sscanf (line_buffer + 4 , "%lld" , & rss_kb );
1940
+ if (rss_kb == -1 && strncmp (line_buffer , "VmRSS :" , 6 ) == 0 ) {
1941
+ sscanf (line_buffer + 6 , "%lld" , & rss_kb );
1943
1942
}
1944
- else if (swap_kb == -1 && strncmp (line_buffer , "Swap :" , 5 ) == 0 ) {
1945
- sscanf (line_buffer + 5 , "%lld" , & swap_kb );
1943
+ else if (swap_kb == -1 && strncmp (line_buffer , "VmSwap :" , 7 ) == 0 ) {
1944
+ sscanf (line_buffer + 7 , "%lld" , & swap_kb );
1946
1945
}
1947
1946
if (rss_kb != -1 && swap_kb != -1 ) {
1948
1947
break ; // Found both
0 commit comments