I happened to have hazelnut.io until recently. Unfortunately I let it expire since the original project I was planning on using there was much more complex than anticipated. So now it's parked by someone else [1], otherwise it was yours<p>[1] <a href="http://who.is/whois/hazelnut.io" rel="nofollow">http://who.is/whois/hazelnut.io</a>
The API of this lib is probably surprising for the typical use-cases because a MemInfo object only represents a path and not a reading/snapshot of the file (each subsequent call to get() re-reads the meminfo file).<p>> <a href="https://github.com/mrsmn/hazelnut/blob/master/hazelnut/core.py#L33" rel="nofollow">https://github.com/mrsmn/hazelnut/blob/master/hazelnut/core....</a><p>So usage like:<p><pre><code> snap_pre = MemInfo()
# Do stuff here
snap_post = MemInfo()
snap_pre.get('Mem')
snap_post.get('Mem')
snap_post.get('Mem')
# All three would likely give different values.
</code></pre>
I would suggest caching the read on instantiation or making them top level functions instead of using a class or MemInfoPath()?
You can cross reference of /proc/meminfo output into the kernel source code here:<p><a href="http://www.srcmap.org/sd_share/7/28338946/Code_Trace_of_Linux_Kernel_proc_meminfo.html" rel="nofollow">http://www.srcmap.org/sd_share/7/28338946/Code_Trace_of_Linu...</a>