python difflib 源码_python模块之psutil源码解析

做监控的时候,可能会用到psutil这个python包来获取机器的cpu、memory、disk、net、os和一些其他的信息,今天对psutil这个包做了进一步的分析。各项参数的获取大同小异,此处以memory为例。

获取psutil python包,github

https://github.com/giampaolo/psutil

此处指定获取相关信息的主目录,如:linux环境下,

psutil/init.py

if LINUX:

...

PROCFS_PATH = "/proc"

...

获取内存的信息,从如下代码可以看到内存信息的获取“/proc/meminfo”。

/psutil/_pslinux.py

def virtual_memory():

...

missing_fields = []

mems = {}

with open_binary('%s/meminfo' % get_procfs_path()) as f:

for line in f:

fields = line.split()

mems[fields[0]] = int(fields[1]) * 1024

total = mems[b'MemTotal:']

free = mems[b'MemFree:']

...

def swap_memory():

...

mems = {}

with open_binary('%s/meminfo' % get_procfs_path()) as f:

for line in f:

fields = line.split()

mems[fields[0]] = int(fields[1]) * 1024

try:

total = mems[b'SwapTotal:']

free = mems[b'SwapFree:']

...

used = total - free

percent = usage_percent(used, total, round_=1)

...

函数“open_binary”:

def open_binary(fname, **kwargs):

return open(fname, "rb", **kwargs)

官方文档:

https://psutil.readthedocs.io/en/latest/#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值