设为首页 收藏本站
查看: 722|回复: 0

[经验分享] 跨平台 获取系统信息的python库 http://support.hyperic.com/disp

[复制链接]

尚未签到

发表于 2017-5-6 13:15:52 | 显示全部楼层 |阅读模式
The Sigar API provides a portable interface for gathering system information such as:

    * System memory, swap, cpu, load average, uptime, logins
    * Per-process memory, cpu, credential info, state, arguments, environment, open files
    * File system detection and metrics
    * Network interface detection, configuration info and metrics
    * Network route and connection tables

Linux Windows 都可以用


内存检测的库 http://support.hyperic.com/display/SIGAR/Home
git clone git://github.com/hyperic/sigar.git sigar.git
./autogen.sh
./configure
make
make install
cd bindings/python/
python setup.py install




xxx@xxxx~/hypertable/sigar.git/bindings/python/examples $ cat free.py
import os, sigar;

sg = sigar.open()
mem = sg.mem()
swap = sg.swap()
sg.close()

print "\tTotal\tUsed\tFree"

print "Mem:\t",\
    (mem.total() / 1024), \
    (mem.used() / 1024), \
    (mem.free() / 1024)

print "Swap:\t", \
    (swap.total() / 1024), \
    (swap.used() / 1024), \
    (swap.free() / 1024)

print "RAM:\t", mem.ram(), "MB"

xxx@xxxx~/hypertable/sigar.git/bindings/python/examples $ python free.py
TotalUsedFree
Mem:33018784 20918484 12100300
Swap:0 0 0
RAM:32248 MB
xxx@xxxx~/hypertable/sigar.git/bindings/python/examples $ cat df.py
import os, sigar;

sg = sigar.open()
fslist = sg.file_system_list()

def format_size(size):
    return sigar.format_size(size * 1024)

print 'Filesystem\tSize\tUsed\tAvail\tUse%\tMounted on\tType\n'

for fs in fslist:
    dir_name = fs.dir_name()
    usage = sg.file_system_usage(dir_name)

    total = usage.total()
    used = total - usage.free()
    avail = usage.avail()
    pct = usage.use_percent() * 100
    if pct == 0.0:
        pct = '-'

    print fs.dev_name(), format_size(total), format_size(used), format_size(avail),\
        pct, dir_name, fs.sys_type_name(), '/', fs.type_name()
xxx@xxxx~/hypertable/sigar.git/bindings/python/examples $ python df.py
FilesystemSizeUsedAvailUse%Mounted onType

/dev/md/2  37G  26G  12G 69.0 / reiserfs / local
proc   0    0    0  - /proc proc / none
sysfs   0    0    0  - /sys sysfs / none
udev  10M 208K 9.8M - /dev tmpfs / none
devpts   0    0    0  - /dev/pts devpts / none
/dev/sda4 391G 321G  70G 83.0 /log2 reiserfs / local
/dev/sdd1 931G 281G 650G 31.0 /mp4 reiserfs / local
/dev/sde1 1.4T 1.3T  75G 95.0 /backup1 xfs / local
/dev/sdf1 1.4T 157G 1.2T 12.0 /backup2 xfs / local
shm  16G   0   16G - /dev/shm tmpfs / none
tmpfs  40M   0   40M - /tmplog tmpfs / none
usbfs   0    0    0  - /proc/bus/usb usbfs / none
/dev/sdb1 1.4T 566G 831G 41.0 /mp5 vfat / local
/dev/sdc1 200G  82G 118G 41.0 /mp3 reiserfs / local

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-373856-1-1.html 上篇帖子: Python:程序最小化到托盘功能实现 下篇帖子: 用python实现SSH的免密码输入访问客户端
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表