@@ -46,16 +46,17 @@ def cpu
4646 def memory
4747 @pagesize ||= Vmstat . pagesize
4848
49- total = free = active = inactive = pageins = pageouts = 0
49+ total = free = active = inactive = pageins = pageouts = available = 0
5050 procfs_file ( "meminfo" ) do |file |
5151 content = file . read ( 2048 ) # the requested information is in the first bytes
5252
53- content . scan ( /(\w +):\s +(\d +) kB/ ) do |name , kbytes |
53+ content . scan ( /(\w +):\s +(\d +) kB/ ) do |name , kbytes |
5454 pages = ( kbytes . to_i * 1024 ) / @pagesize
5555
5656 case name
5757 when "MemTotal" then total = pages
5858 when "MemFree" then free = pages
59+ when "MemAvailable" then available = pages
5960 when "Active" then active = pages
6061 when "Inactive" then inactive = pages
6162 end
@@ -74,8 +75,7 @@ def memory
7475 end
7576 end
7677
77- Memory . new @pagesize , total -free -active -inactive , active , inactive , free ,
78- pageins , pageouts
78+ Memory . new @pagesize , total -free -active -inactive , active , inactive , free , pageins , pageouts , available
7979 end
8080
8181 # Fetches the information for all available network devices.
@@ -91,8 +91,8 @@ def network_interfaces
9191 when /^lo/ then NetworkInterface ::LOOPBACK_TYPE
9292 end
9393
94- netifcs << NetworkInterface . new ( columns [ 0 ] . to_sym , columns [ 1 ] . to_i ,
95- columns [ 3 ] . to_i , columns [ 4 ] . to_i ,
94+ netifcs << NetworkInterface . new ( columns [ 0 ] . to_sym , columns [ 1 ] . to_i ,
95+ columns [ 3 ] . to_i , columns [ 4 ] . to_i ,
9696 columns [ 9 ] . to_i , columns [ 11 ] . to_i ,
9797 type )
9898 end
@@ -107,7 +107,7 @@ def task
107107
108108 procfs_file ( "self" , "stat" ) do |file |
109109 data = file . read . split ( / / )
110- Task . new ( data [ 22 ] . to_i / @pagesize , data [ 23 ] . to_i ,
110+ Task . new ( data [ 22 ] . to_i / @pagesize , data [ 23 ] . to_i ,
111111 data [ 13 ] . to_i * 1000 , data [ 14 ] . to_i * 1000 )
112112 end
113113 end
0 commit comments