@@ -293,6 +293,7 @@ impl Agent {
293293 let mut previous_best_block_number = 0 ;
294294 let mut count_of_no_block_update = 0usize ;
295295 let mut disk_usage_alert_sent = false ;
296+ let mut memory_usage_alert_sent = false ;
296297 loop {
297298 ctrace ! ( "Agent-{} update" , self . id) ;
298299 let update_result = self . update ( ) ?;
@@ -313,7 +314,7 @@ impl Agent {
313314 number_of_peers,
314315 best_block_number,
315316 disk_usage,
316- ..
317+ memory_usage ,
317318 } ) = update_result
318319 {
319320 let node_name = node_name. expect ( "Updated" ) ;
@@ -347,13 +348,25 @@ impl Agent {
347348 if disk_usage. total != 0 && disk_usage. available < ONE_GB {
348349 self . noti . warn (
349350 & network_id,
350- & format ! ( "{} has only {} MB free space." , node_name, disk_usage. available / 1_000_000 ) ,
351+ & format ! ( "{} has only {} MB free disk space." , node_name, disk_usage. available / 1_000_000 ) ,
351352 ) ;
352353 disk_usage_alert_sent = true ;
353354 }
354355 } else if ONE_GB < disk_usage. available {
355356 disk_usage_alert_sent = false ;
356357 }
358+
359+ if !memory_usage_alert_sent {
360+ if memory_usage. total != 0 && memory_usage. available < ( ONE_GB / 4 ) {
361+ self . noti . error (
362+ & network_id,
363+ & format ! ( "{} has only {} MB free memory." , node_name, memory_usage. available / 1_000_000 ) ,
364+ ) ;
365+ memory_usage_alert_sent = true ;
366+ } else if ( ONE_GB / 4 ) < memory_usage. available {
367+ memory_usage_alert_sent = false ;
368+ }
369+ }
357370 }
358371 thread:: sleep ( Duration :: new ( 10 , 0 ) ) ;
359372 }
0 commit comments