[本文出自天外归云的博客园]

网上搜,东拼西凑,组装了一个可以查Linux服务器CPU使用率、内存使用率、磁盘空间占用率、负载情况的python脚本。

脚本内容如下:

# -*- 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)

在Linux服务器上touch一个py文件,把以上内容粘贴进去并保存。运行python脚本,效果如下:

一目了然。以后再出现访问后台接口502、无返回的情况,在后台服务器执行一下脚本,看看是不是这方面引起的问题,是不是内存占用过高,是不是磁盘满了等等。方便后台服务器环境问题的定位,以便联系相关的开发或运维来协助解决问题。

Linux服务器CPU、内存、磁盘空间、负载情况查看python脚本相关推荐

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

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

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

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

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

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

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

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

  5. linux监控cpu内存磁盘网络使用率,linux服务器性能——CPU、内存、流量、磁盘使用率的监控...

    4. 什么是AJAX 术语Ajax用来描述一组技术,它使浏览器可以为用户提供更为自然的浏览体验.在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的"思考 ...

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

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

  7. Linux系统监控命令整理汇总-掌握CPU,内存,磁盘IO等找出性能瓶颈

    的性能有问题,总之,每到晚上挖站否的主机就出现了不稳定的情况,系统负载忽高忽低.利用服务器日志分析利器:ngxtop和GoAccess也能查出有一些IP一直在不断地扫描服务器端口还有WP后台. 但是, ...

  8. java 监控linux服务器cpu使用率、内存使用率、磁盘使用率、java进程是否存活等服务

    java 监控linux服务器cpu.内存.java进程是否存活,发现异常发送邮件提醒 前一段时间在维护一个N年前的项目,这个项目有十几个服务器,每个服务器上有十几个服务.接手后的几个星期天天有事,要 ...

  9. Linux内存、CPU及磁盘空间测试工具

    一.内存测试工具 1.目的 测试当服务器内存空间使用率超过一定范围时,系统是否触发告警. 2.测试方法 1.Ubuntu服务器编译c代码 若服务器无编译c代码的gcc命令,需先安装gcc(若已安装可跳 ...

最新文章

  1. linux基础-总结题 (每日更新)
  2. BCH两周年独立日已至,世界各地爱好者纷纷举办Meetup庆祝
  3. mysql数据库基本操作命令
  4. 美团mysql 闪回_MyFlash——美团点评的开源MySQL闪回工具
  5. mysql存储过程大于小于_mysql5.0存储过程操作符知识_函数方法[Mysql学习]
  6. CRM订单状态的Open, In process和Completed这些条目是从哪里来的
  7. CCNA知识总结(一)
  8. BLOB存储图片文件二进制数据是非对错
  9. c语言上机作业数组,2015二级c语言上机题库
  10. 使用itext,html转pdf使用报错:java.lang.NoSuchMethodError: com.lowagie.text.pdf.BaseFont.getCharBBox(C)
  11. 网络其他计算机无法访问,win7局域网别人无法访问我的电脑是为什么 win7其他电脑无法访问我的电脑如何修复...
  12. 中文.com域名如何申请 什么是.com域名过期
  13. input/output is not in graph tf.layers.conv2d在name命名时会自动在其后添加Conv2D
  14. 计算机对学习的好处,学习计算机的好处
  15. 综合布线施工工艺--
  16. ggplot2——饼图篇
  17. PADS的layout单个元器件删除时提示“复用元素无法修改,首先打散复用模块”
  18. Python中使用逻辑与运算符“and”判断两个比较条件是否满足时编辑器提示“Simplify chained comparison ”的解决方法
  19. 微服务商城mall-swarm本地搭建
  20. Kotlin for 循环写法整理

热门文章

  1. 初次使用Shiro进行加密密码的算法实例
  2. java.sql.SQLException: validateConnection false
  3. Pycharm Pro 2018.2 汉化专业激活破解
  4. weblogic从入门到起飞(nodemanager)(五)
  5. 【LeetCode】233. 数字1的个数
  6. windows server 2012 远程连不上_CVE20201350 | Windows DNS Server远程代码执行漏洞通告
  7. 神策数据第五届“星斗奖”榜单公布!
  8. 实战小课 | 深入剖析 「事件设计方法与规范」,夯实数据分析基础!
  9. cxRichEdit1获取EXCEL的区域图片
  10. 写一个“特殊”的查询构造器 - (四、条件查询:复杂条件)