python在linux系统下获取系统内存使用情况的方法

本文实例讲述了python在linux系统下获取系统内存使用情况的方法。分享给大家供大家参考。具体如下:

"""
Simple module for getting amount of memory used
by a specified user's processes on a UNIX system.
It uses UNIX ps utility to get the memory usage for
a specified username and pipe it to awk for summing up
per application memory usage and return the total.
Python's Popen() from subprocess module is used
for spawning ps and awk.
"""
import subprocess
class MemoryMonitor(object):
  def __init__(self, username):
    """Create new MemoryMonitor instance."""
    self.username = username
  def usage(self):
    """Return int containing memory used by user's processes."""
    self.process = subprocess.Popen("ps -u %s -o rss | awk '{sum+=$1} END {print sum}'" % self.username,
                    shell=True,
                    stdout=subprocess.PIPE,
                    )
    self.stdout_list = self.process.communicate()[0].split('\n')
    return int(self.stdout_list[0])

将上面的代码保存为:memorymonitor.py

调用方法如下:

from memorymonitor import MemoryMonitor
memory_mon = MemoryMonitor('username')
used_memory = memory_mon.usage()

希望本文所述对大家的Python程序设计有所帮助。

(0)

相关推荐

  • Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)

    1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象.2. copy.deepcopy 深拷贝 拷贝对象及其子对象一个很好的例子: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->import copya = [1, 2, 3, 4, ['a', 'b']]  #原始对象b = a  #赋值,传对象的引用c = copy.c

  • 使用Python脚本对Linux服务器进行监控的教程

    目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控. 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写. Python 版本说明 Python 是由 Guido van Rossum 开发的.可免费获得的.

  • Python中使用copy模块实现列表(list)拷贝

    引用是指保存的值为对象的地址.在 Python 语言中,一个变量保存的值除了基本类型保存的是值外,其它都是引用,因此对于它们的使用就需要小心一些.下面举个例子: 问题描述:已知一个列表,求生成一个新的列表,列表元素是原列表的复制 复制代码 代码如下: a=[1,2] b=a 这种做法其实并未真正生成一个新的列表,b指向的仍然是a所指向的对象.这样,如果对a或b的元素进行修改,a,b的值同时发生变化. 解决的方法为: 复制代码 代码如下: a=[1,2] b=a[:] 这样修改a对b没有影响.修改

  • 浅谈Python中copy()方法的使用

    copy()方法返回字典的浅拷贝. 语法 以下是copy()方法的语法: dict.copy() 参数 NA 返回值 此方法返回字典的浅拷贝. 例子 下面的例子显示了copy()方法的使用. #!/usr/bin/python dict1 = {'Name': 'Zara', 'Age': 7}; dict2 = dict1.copy() print "New Dictinary : %s" % str(dict2) 当我们运行上面的程序,它会产生以下结果: New Dictinary

  • python实现linux下使用xcopy的方法

    本文实例讲述了python实现linux下使用xcopy的方法.分享给大家供大家参考.具体如下: 这个python函数模仿windows下的xcopy命令编写,可以用在linux下 #!/usr/bin/python # -*- coding: UTF-8 -*- """ xcopy for Linux... Use: ______________________________________________________________________________

  • 在Linux下调试Python代码的各种方法

    这是一个我用于调试或分析工具概述,不一定是完整全面,如果你知道更好的工具,请在评论处标记. 日志 是的,的确,不得不强调足够的日志记录对应用程序是多么的重要.您应该记录重要的东西,如果你的记录足够好的话,你可以从日志中找出问题从而节省大量的时间. 如果你曾经用print语句来调试代码现在停下吧,用logging.debug替代,开始可以慢慢来,以后完全禁用它... 追踪 有时看到程序如何被执行会很有帮助.你可以使用IDE的调试共轭ngn一步一步的运行程序,但你需要知道你要找的是什么,否则这将会是

  • linux下python抓屏实现方法

    本文实例讲述了linux下python抓屏实现方法.分享给大家供大家参考.具体实现代码如下: #!/usr/bin/python '''by zevolo, 2012.12.20 ''' import gtk.gdk import gtk import glib class MyRect(): def __init__(self, x = 0, y = 0, w = 0, h = 0): self.x = x self.y = y self.w = w self.h = h def __init

  • python在linux系统下获取系统内存使用情况的方法

    本文实例讲述了python在linux系统下获取系统内存使用情况的方法.分享给大家供大家参考.具体如下: """ Simple module for getting amount of memory used by a specified user's processes on a UNIX system. It uses UNIX ps utility to get the memory usage for a specified username and pipe it

  • Android获取App内存使用情况的方法

    1.代码获取当前app内存的使用情况 ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); //最大分配内存 int memory = activityManager.getMemoryClass(); System.out.println("memory: "+memory); //最大分配内存获取方法2 float maxMemory = (float) (Ru

  • 在linux系统下安装两个nginx的简单方法

    在linux下安装nginx的时候,一般在./configure的阶段会要求通过prefix设置安装路径.因此,在./configure的时候指定不同的prefix就可以安装多个nginx啦. 值得注意的是,安装完之后,两个nginx的监听端口要设置成不同的监听端口.否则,会有一个nginx无法启动. ./configure --prefix=/home/work/nginx1 .....//第一个nginx的安装配置 make && make install ./configure --

  • CentOS7.6系统下使用yum配置lnmp环境的方法

    一.安装版本详情 Server: MariaDB Server version: 5.5.60-MariaDB MariaDB Server [root@ln-125 ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@ln-125 ~]# nginx -v nginx version: nginx/1.14.2 [root@ln-125 ~]# php-fpm -v PHP 5.4.16 (fpm-fcg

  • python在Windows8下获取本机ip地址的方法

    本文实例讲述了python在Windows8下获取本机ip地址的方法.分享给大家供大家参考.具体实现方法如下: import socket hostname = socket.gethostname() IPinfo = socket.gethostbyname_ex(hostname) LocalIP = IPinfo[2][2] print LocalIP 希望本文所述对大家的Python程序设计有所帮助.

  • python在linux环境下安装skimage的示例代码

    一.执行代码 yum install xz-devel yum install python-backports-lzma pip3 install scikit-image pip3 install backports.lzma 二.修改文件 修改文件路径 /usr/local/python3/lib/python3.6/lzma.py 修改文件部分内容 将 from _lzma import * from _lzma import _encode_filter_properties, _de

  • Windows系统下MySQL无法启动的万能解决方法

    MySQL启动报错 window10上安装了MySQL之前使用都是执行net start mysql 启动,执行net stop mysql关闭. 某天开始启动报错"MySQL 服务无法启动","请键入 NET HELPMSG 3523 以获得更多的帮助". 如果再执行启动命令会报"服务正在启动或停止中,请稍候片刻后再试一次". 解决方案 这种问题网上有 修改配置文件my.ini 删data目录下文件 重装MySQL 等多种解决方法. 前两种方案

  • linux操作系统下配置ssh/sftp和权限设置方法

    基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管理(限制用户的活动目录). 1.开通 sftp 帐号,使用户只能 sftp 操作文件, 而不能 ssh 到服务器 2.限定用户的活动目录,使用户只能在指定的目录下活动,使用 sftp 的 ChrootDirectory 配置 确定版本 #确保 ssh 的版本高于 4.8p1 否则升级一下 一般都高于这个版本 ssh -V 新建用户和用户组 #添加用户组 sftp groupadd sftp #添加用户

  • linux环境下安装 openOffice 并启动服务 的方法

    一.背景故事 这两天遇到一个大坑,客户要做office 文档在线预览功能,于是乎就要把office文档转换成pdf交给前端显示.      在某度找了一圈都说openOffice+jodconverter 可以搞定这个事情.代码倒是很好找,不过版本很多,各类jar包也很多,但尝试下来发现,转化效果很一般,复杂的excel也无法成功.有同事建议放到服务器上效果可能好些,于是就开始折腾在服务器上安装OpenOffice这个事情.网上各种找大神的博文,发现安装起来不是很顺畅,就写了这篇随笔,记录一下,

  • Linux环境下php实现给网站截图的方法

    本文实例讲述了Linux环境下php实现给网站截图的方法.分享给大家供大家参考,具体如下: 第一步:下载wkhtmltopdf 复制代码 代码如下: [root@iZ94aawoublZ ~]# wget http://download.gna.org/wkhtmltopdf/0.12/0.12.3/wkhtmltox-0.12.3_linux-generic-amd64.tar.xz 第二步:解压 复制代码 代码如下: [root@iZ94aawoublZ ~]# xz -d wkhtmlto

随机推荐