一、前言
通常情况下,为了知悉服务器的相关信息,如果只是靠人为去挨个查询服务器相关性能的话,会比较耗时,一般情况下,我们可以通过编写Python脚本来实现对服务器性能的实时检测,每次想要查询服务器性能的时候,可以通过执行该脚本,即可知晓。

注:也可以通过设置定时任务来执行该脚本,实现在不同时间段对服务器性能的检测

二、Python实现方式
1、脚本编写

# -*- coding:utf-8 -*- -
import os, timelast_worktime=0
last_idletime=0def get_cpu():global last_worktime, last_idletimef=open("/proc/stat","r")line=""while not "cpu " in line: line=f.readline()f.close()spl=line.split(" ")worktime=int(spl[2])+int(spl[3])+int(spl[4])idletime=int(spl[5])dworktime=(worktime-last_worktime)didletime=(idletime-last_idletime)rate=float(dworktime)/(didletime+dworktime)last_worktime=worktimelast_idletime=idletimeif(last_worktime==0): return 0return ratedef get_mem_usage_percent():try:f = open('/proc/meminfo', 'r')for line in f:if line.startswith('MemTotal:'):mem_total = int(line.split()[1])elif line.startswith('MemFree:'):mem_free = int(line.split()[1])elif line.startswith('Buffers:'):mem_buffer = int(line.split()[1])elif line.startswith('Cached:'):mem_cache = int(line.split()[1])elif line.startswith('SwapTotal:'):vmem_total = int(line.split()[1])elif line.startswith('SwapFree:'):vmem_free = int(line.split()[1])else:continuef.close()except:return Nonephysical_percent = usage_percent(mem_total - (mem_free + mem_buffer + mem_cache), mem_total)virtual_percent = 0if vmem_total > 0:virtual_percent = usage_percent((vmem_total - vmem_free), vmem_total)return physical_percent, virtual_percentdef usage_percent(use, total):try:ret = (float(use) / total) * 100except ZeroDivisionError:raise Exception("ERROR - zero division error")return retstatvfs = os.statvfs('/')total_disk_space = statvfs.f_frsize * statvfs.f_blocks
free_disk_space = statvfs.f_frsize * statvfs.f_bfree
disk_usage = (total_disk_space - free_disk_space) * 100.0 / total_disk_space
disk_usage = int(disk_usage)
disk_tip = "硬盘空间使用率(最大100%):"+str(disk_usage)+"%"
print(disk_tip)mem_usage = get_mem_usage_percent()
mem_usage = int(mem_usage[0])
mem_tip = "物理内存使用率(最大100%):"+str(mem_usage)+"%"
print(mem_tip)cpu_usage = int(get_cpu()*100)
cpu_tip = "CPU使用率(最大100%):"+str(cpu_usage)+"%"
print(cpu_tip)load_average = os.getloadavg()
load_tip = "系统负载(三个数值中有一个超过3就是高):"+str(load_average)
print(load_tip)

2、Linux服务器文件创建
可通过在Linux服务器上touch创建一个py文件,然后为该文件附上权限。即可执行
效果如下:

python test.py


这样可以即时快速的判断服务器的相关性能,定位服务器环境问题。

Python脚本实现对Linux服务器CPU、内存、磁盘空间以及负载情况的监测相关推荐

  1. 用Python脚本实现对Linux服务器的监控

    一.前言 二.概述 三.Python 版本说明 四./proc 文件系统 五.对CPU监测 六.对系统负载监测 七.对内存信息的获取 八.对网络接口的监测 九.监控apache服务器进程的Python ...

  2. 用 Python 脚本实现对 Linux 服务器的监控

    版本说明 Linux 服务器是 Ubuntu 12.10 Python 版本 是 2.7 工作原理:基于/proc 文件系统 Linux 系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核, ...

  3. python glances来监控linux服务器CPU 内存 IO使用

    什么是 Glances? Glances 是一个由 Python 编写,使用 psutil 库来从系统抓取信息的基于 curses 开发的跨平台命令行系统监视工具. 通过 Glances,我们可以监视 ...

  4. 用python监控磁盘_使用python怎么对服务器cpu和磁盘空间进行监控

    使用python怎么对服务器cpu和磁盘空间进行监控 发布时间:2021-01-29 17:16:55 来源:亿速云 阅读:82 作者:Leah 这期内容当中小编将会给大家带来有关使用python怎么 ...

  5. Linux服务器CPU、内存、磁盘空间、负载情况查看python脚本

    [本文出自天外归云的博客园] 网上搜,东拼西凑,组装了一个可以查Linux服务器CPU使用率.内存使用率.磁盘空间占用率.负载情况的python脚本. 脚本内容如下: # -*- coding:utf ...

  6. linux系统CPU,内存,磁盘,网络流量监控脚本

    前序 1, #cat /proc/stat/  信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2, #vmstat –s   或者 #vmstat    虚拟内存统 ...

  7. AIX和LINUX主机 CPU 内存 磁盘使用率监控

    AIX监控 磁盘使用率监控 df -g|grep -v Filesystem|grep -v proc|awk ' gsub(/%/,"",$4) {print $7 " ...

  8. linux 负载高 cpu低,Linux服务器CPU使用率较低但负载较高

    CPU使用率较低但负载较高 问题描述 Linux 系统没有业务程序运行,通过 top 观察,类似如下图所示,CPU 很空闲,但是 load average 却非常高,如下图所示. 处理办法 load ...

  9. 如何增加服务器磁盘空间,linux 服务器如何扩展磁盘空间

    如果碰到服务器存储空间不够,你会增加磁盘空间吗? 注意:是运行状态的服务器哦,所以不可以关机影响使用. 这就需要用到LVM,前提是安装服务器时做好规划. 1.创建分区,先观察一下卷组 # vgdisp ...

  10. java远程关机_通过jsch实现对linux服务器的shell客户端远程控制关机完整示例代码分享...

    一.前言 由于前些阵子想找个ssh客户端 for android实现在手机上可以远程控制Centos服务器实现在手机上远程关机操作,找了一圈没有合适的,因此自己想通过linux的客户端接入包jsch实 ...

最新文章

  1. Java遍历对象所有属性
  2. Lucene 基础知识
  3. (建议收藏)matlab在线性代数问题中的计算机求解进阶问题及解决方案集锦
  4. Recommended Journals for MPhil degree at Business Model Innovation Group
  5. koa2 mysql增删改查_react+koa2+mysql零门槛的全栈体验,附上完整项目分享
  6. Firefox-常用扩展
  7. VB589语音识别芯片开发
  8. 公司计算机 统一购买 补贴,全国农机购置补贴计算机管理系统开始全面启用
  9. k8s与caas--容器云caas平台的落地实践
  10. 软件工程---gjb438b 质量规范体系
  11. 教你怎么学习arcgis软件①
  12. 如何用ps裁剪规定像素的图片
  13. sqoop 导出hive数据到MySQL数据库当中
  14. php调用shell执行scp,使用shell脚本自动执行scp文件传输
  15. 如何使用“迁移助理”将文件从旧 Mac 移到新Mac?
  16. android学习笔记之GoogleMap
  17. 谏太宗十思疏 魏征(原文/译文)
  18. 平衡树学习笔记之 fhq Treap
  19. 电力电子与电力传动类毕业论文文献包含哪些?
  20. 面试经历---广东耶萨智能科技股份有限公司(2016年01月11日上午面试)

热门文章

  1. 数据安全技术专利态势分析
  2. 全面解析 UI/UE/交互设计
  3. ubuntu固定内网ip_Ubuntu14设置局域网固定IP
  4. Android-failed to set system property
  5. 用互联网大脑模型分析滴滴的战略意图和战术失误
  6. npm link详解
  7. 盘锦哪家计算机学校好,盘锦这所学校上了全国自主招生500强榜单
  8. Java用递归计算1加到100
  9. 卷积神经网络学习路线(十一)| Stochastic Depth(随机深度网络)
  10. 如何用手机连接无线网络