天天看點

python擷取centos系統剩餘記憶體方法總結

導語:

擷取linux系統記憶體的方法有很多種方法,這裡總結如下

版本1

[root@master test]# cat freemem.py 

<code>#!/usr/bin/env python</code>

<code>memfile </code><code>=</code> <code>open</code><code>(</code><code>'/proc/meminfo'</code><code>)</code>

<code>while</code> <code>True</code><code>:</code>

<code>    </code><code>mem </code><code>=</code> <code>memfile.readline()</code>

<code>    </code><code>if</code> <code>'MemTotal'</code> <code>in</code> <code>mem:</code>

<code>        </code><code>print</code> <code>'%s'</code> <code>%</code> <code>mem,</code>

<code>    </code><code>if</code> <code>'MemFree'</code> <code>in</code> <code>mem:</code>

<code>        </code><code>break</code>

<code>memfile.close()</code>

版本2

<code>i </code><code>=</code> <code>0</code>

<code>while</code> <code>i&lt;</code><code>2</code><code>:</code>

<code>    </code><code>i</code><code>+</code><code>=</code><code>1</code>

<code>    </code><code>print</code> <code>"%s"</code> <code>%</code> <code>mem,</code>

版本3    

[root@master test]# cat freemem.py

<code>#coding=utf8</code>

<code>    </code><code>memnum </code><code>=</code> <code>mem.split()[</code><code>1</code><code>]</code>

<code>    </code><code>if</code> <code>i </code><code>=</code><code>=</code> <code>0</code><code>:</code>

<code>        </code><code>print</code> <code>"記憶體總量為:%s"</code> <code>%</code> <code>memnum</code>

<code>    </code><code>else</code><code>:</code>

<code>        </code><code>print</code> <code>"剩餘記憶體為:%s"</code> <code>%</code> <code>memnum</code>

版本4

<code>with </code><code>open</code><code>(</code><code>'/proc/meminfo'</code><code>) as fd:</code>

<code>    </code><code>for</code> <code>line </code><code>in</code> <code>fd:</code>

<code>        </code><code>if</code> <code>line.startswith(</code><code>'MemTotal'</code><code>):</code>

<code>            </code><code>total </code><code>=</code> <code>line.split()[</code><code>1</code><code>]</code>

<code>            </code><code>continue</code>

<code>        </code><code>if</code> <code>line.startswith(</code><code>'MemFree'</code><code>):</code>

<code>            </code><code>free </code><code>=</code> <code>line.split()[</code><code>1</code><code>]</code>

<code>            </code><code>break</code>

<code>FreeMem </code><code>=</code> <code>int</code><code>(free)</code><code>/</code><code>1024.0</code>

<code>TotalMem </code><code>=</code> <code>int</code><code>(total)</code><code>/</code><code>1024.0</code>

<code>print</code> <code>"FreeMem:"</code><code>+</code><code>"%.2f"</code> <code>%</code> <code>FreeMem</code><code>+</code><code>'M'</code>

<code>print</code> <code>"TotalMem:"</code><code>+</code><code>"%.2f"</code> <code>%</code> <code>TotalMem</code><code>+</code><code>'M'</code>

<code>print</code> <code>"FreeMem/TotalMem:"</code><code>+</code><code>"%.2f"</code> <code>%</code> <code>((FreeMem</code><code>/</code><code>TotalMem)</code><code>*</code><code>100</code><code>)</code><code>+</code><code>'%'</code>

版權聲明:原創作品,如需轉載,請與作者聯系。否則将追究法律責任

本文轉自 CrazyWing 51CTO部落格,原文連結:http://blog.51cto.com/fklinux/1980629