Posted to tcl by Napier at Mon Apr 13 17:24:05 GMT 2015view pretty
set fh [open "/proc/meminfo"] set mem [read $fh] close $fh if {$mem != ""} { set mem [split $mem \n] set complete 0 foreach line $mem { if {[string match "*MemTotal*" $line]} { set memtotal [string trim [string map {"MemTotal:" "" "kB" ""} $line]] } elseif {[string match "*MemFree*" $line]} { set memfree [string trim [string map {"MemFree:" "" "kB" ""} $line]] } elseif {[string match "*Cached*" $line]} { set cached [string trim [string map {"Cached:" "" "kB" ""} $line]] } elseif {[string match "*Buffers*" $line]} { set buffers [string trim [string map {"Buffers:" "" "kB" ""} $line]] } if {[info exists memtotal] && [info exists memfree] && [info exists cached] && [info exists buffers]} { set complete 1 break } } if {$complete == 1} { set mempct [expr {double(($memfree + $cached + $buffers)) / $memtotal}] puts $mempct } }