做监控的时候,可能会用到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/#
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!