summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Knaack <davidkna@users.noreply.github.com>2021-05-04 17:28:44 +0200
committerGitHub <noreply@github.com>2021-05-04 11:28:44 -0400
commit6f387769fe4663d679f97b2d7d37933e666b8c09 (patch)
tree6faf75f2ba038c9ceb0aa9cb3fa3803c12f39ac1
parent41e417e1d3897cc29fab86bc7b510c5cdb4cfa1c (diff)
fix(memory_usage): prevent used swap underflow on windows (#2689)
-rw-r--r--src/modules/memory_usage.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/modules/memory_usage.rs b/src/modules/memory_usage.rs
index 121855670..327e0ac66 100644
--- a/src/modules/memory_usage.rs
+++ b/src/modules/memory_usage.rs
@@ -51,7 +51,7 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
0 => system.free,
_ => system.avail,
};
- let used_memory_kib = system.total - avail_memory_kib;
+ let used_memory_kib = system.total.saturating_sub(avail_memory_kib);
let total_memory_kib = system.total;
let ram_used = (used_memory_kib as f64 / total_memory_kib as f64) * 100.;
let ram_pct = format_pct(ram_used, pct_sign);
@@ -63,7 +63,7 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
let ram = format_usage_total(used_memory_kib, total_memory_kib);
let total_swap_kib = system.swap_total;
- let used_swap_kib = system.swap_total - system.swap_free;
+ let used_swap_kib = system.swap_total.saturating_sub(system.swap_free);
let percent_swap_used = (used_swap_kib as f64 / total_swap_kib as f64) * 100.;
let swap_pct = format_pct(percent_swap_used, pct_sign);
let swap = format_usage_total(used_swap_kib, total_swap_kib);