Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Unified Diff: base/process/process_metrics.h

Issue 2766623002: Revert of Fix free memory calculation. (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | base/process/process_metrics.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/process/process_metrics.h
diff --git a/base/process/process_metrics.h b/base/process/process_metrics.h
index 81c52266ceefb4cd4ddfba02c9f09c0833f450ce..2448a715ace9b5eade7f09524561ffcedb666cc3 100644
--- a/base/process/process_metrics.h
+++ b/base/process/process_metrics.h
@@ -261,13 +261,11 @@
// Data about system-wide memory consumption. Values are in KB. Available on
// Windows, Mac, Linux, Android and Chrome OS.
//
-// Total memory are available on all platforms that implement
+// Total/free memory are available on all platforms that implement
// GetSystemMemoryInfo(). Total/free swap memory are available on all platforms
// except on Mac. Buffers/cached/active_anon/inactive_anon/active_file/
-// inactive_file/dirty/reclaimable/pswpin/pswpout/pgmajfault are available on
+// inactive_file/dirty/pswpin/pswpout/pgmajfault are available on
// Linux/Android/Chrome OS. Shmem/slab/gem_objects/gem_size are Chrome OS only.
-// Speculative/file_backed/purgeable are Mac and iOS only.
-// Free is absent on Windows (see "avail_phys" below).
struct BASE_EXPORT SystemMemoryInfoKB {
SystemMemoryInfoKB();
SystemMemoryInfoKB(const SystemMemoryInfoKB& other);
@@ -275,64 +273,44 @@
// Serializes the platform specific fields to value.
std::unique_ptr<Value> ToValue() const;
- int total = 0;
-
-#if !defined(OS_WIN)
- int free = 0;
-#endif
-
-#if defined(OS_WIN)
- // "This is the amount of physical memory that can be immediately reused
- // without having to write its contents to disk first. It is the sum of the
- // size of the standby, free, and zero lists." (MSDN).
- // Standby: not modified pages of physical ram (file-backed memory) that are
- // not actively being used.
- int avail_phys = 0;
-#endif
-
-#if defined(OS_LINUX) || defined(OS_ANDROID)
+ int total;
+ int free;
+
+#if defined(OS_LINUX)
// This provides an estimate of available memory as described here:
// https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773
// NOTE: this is ONLY valid in kernels 3.14 and up. Its value will always
// be 0 in earlier kernel versions.
- // Note: it includes _all_ file-backed memory (active + inactive).
- int available = 0;
+ int available;
#endif
#if !defined(OS_MACOSX)
- int swap_total = 0;
- int swap_free = 0;
+ int swap_total;
+ int swap_free;
#endif
#if defined(OS_ANDROID) || defined(OS_LINUX)
- int buffers = 0;
- int cached = 0;
- int active_anon = 0;
- int inactive_anon = 0;
- int active_file = 0;
- int inactive_file = 0;
- int dirty = 0;
- int reclaimable = 0;
+ int buffers;
+ int cached;
+ int active_anon;
+ int inactive_anon;
+ int active_file;
+ int inactive_file;
+ int dirty;
// vmstats data.
- unsigned long pswpin = 0;
- unsigned long pswpout = 0;
- unsigned long pgmajfault = 0;
+ unsigned long pswpin;
+ unsigned long pswpout;
+ unsigned long pgmajfault;
#endif // defined(OS_ANDROID) || defined(OS_LINUX)
#if defined(OS_CHROMEOS)
- int shmem = 0;
- int slab = 0;
+ int shmem;
+ int slab;
// Gem data will be -1 if not supported.
- int gem_objects = -1;
- long long gem_size = -1;
+ int gem_objects;
+ long long gem_size;
#endif // defined(OS_CHROMEOS)
-
-#if defined(OS_MACOSX)
- int speculative = 0;
- int file_backed = 0;
- int purgeable = 0;
-#endif // defined(OS_MACOSX)
};
// On Linux/Android/Chrome OS, system-wide memory consumption data is parsed
« no previous file with comments | « no previous file | base/process/process_metrics.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698