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

Side by Side Diff: components/memory_pressure/direct_memory_pressure_calculator_win.cc

Issue 2558043007: Fix free memory calculation. (Closed)
Patch Set: Fix integer overflow in unittest. 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/memory_pressure/direct_memory_pressure_calculator_win.h" 5 #include "components/memory_pressure/direct_memory_pressure_calculator_win.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/process/process_metrics.h" 8 #include "base/process/process_metrics.h"
9 9
10 namespace memory_pressure { 10 namespace memory_pressure {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 DCHECK_LE(0, critical_threshold_mb_); 58 DCHECK_LE(0, critical_threshold_mb_);
59 } 59 }
60 60
61 DirectMemoryPressureCalculator::MemoryPressureLevel 61 DirectMemoryPressureCalculator::MemoryPressureLevel
62 DirectMemoryPressureCalculator::CalculateCurrentPressureLevel() { 62 DirectMemoryPressureCalculator::CalculateCurrentPressureLevel() {
63 base::SystemMemoryInfoKB mem_info = {}; 63 base::SystemMemoryInfoKB mem_info = {};
64 if (!GetSystemMemoryInfo(&mem_info)) 64 if (!GetSystemMemoryInfo(&mem_info))
65 return MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE; 65 return MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE;
66 66
67 // How much system memory is actively available for use right now, in MBs. 67 // How much system memory is actively available for use right now, in MBs.
68 int phys_free = mem_info.free / kKBperMB; 68 int phys_free = mem_info.avail_phys / kKBperMB;
69 69
70 // TODO(chrisha): This should eventually care about address space pressure, 70 // TODO(chrisha): This should eventually care about address space pressure,
71 // but the browser process (where this is running) effectively never runs out 71 // but the browser process (where this is running) effectively never runs out
72 // of address space. Renderers occasionally do, but it does them no good to 72 // of address space. Renderers occasionally do, but it does them no good to
73 // have the browser process monitor address space pressure. Long term, 73 // have the browser process monitor address space pressure. Long term,
74 // renderers should run their own address space pressure monitors and act 74 // renderers should run their own address space pressure monitors and act
75 // accordingly, with the browser making cross-process decisions based on 75 // accordingly, with the browser making cross-process decisions based on
76 // system memory pressure. 76 // system memory pressure.
77 77
78 // Determine if the physical memory is under critical memory pressure. 78 // Determine if the physical memory is under critical memory pressure.
(...skipping 28 matching lines...) Expand all
107 critical_threshold_mb_ = kLargeMemoryDefaultCriticalThresholdMb; 107 critical_threshold_mb_ = kLargeMemoryDefaultCriticalThresholdMb;
108 } else { 108 } else {
109 moderate_threshold_mb_ = kSmallMemoryDefaultModerateThresholdMb; 109 moderate_threshold_mb_ = kSmallMemoryDefaultModerateThresholdMb;
110 critical_threshold_mb_ = kSmallMemoryDefaultCriticalThresholdMb; 110 critical_threshold_mb_ = kSmallMemoryDefaultCriticalThresholdMb;
111 } 111 }
112 } 112 }
113 113
114 #endif // defined(MEMORY_PRESSURE_IS_POLLING) 114 #endif // defined(MEMORY_PRESSURE_IS_POLLING)
115 115
116 } // namespace memory_pressure 116 } // namespace memory_pressure
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/about_ui.cc ('k') | components/memory_pressure/direct_memory_pressure_calculator_win_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698