使用python3.x实现统计Nginx进程所占用的物理内存

实现代码如下:

#!/usr/bin/python
#coding:utf8

from subprocess import Popen, PIPE
import os

nginxpid = Popen(["pidof", "nginx"], stdout=PIPE)
nginxpid = nginxpid.stdout.read().split()

memsum = 0
for i in nginxpid:
    pidfile = os.path.join("/proc/", str(i), "status")
    with open(pidfile) as f:
        for mem in f:
            if mem.startswith("VmRSS"):
               pidmem = int(mem.split()[1])
               memsum += pidmem

print("%d %s" %(memsum,"KB"))
时间: 2024-08-24 22:55:57

使用python3.x实现统计Nginx进程所占用的物理内存的相关文章

统计apache进程占用的物理内存

[[email protected] ~]# ps aux | grep httpd root     13698  0.0  0.0 185628  4356 ?        Ss   17:12   0:00 /usr/sbin/httpd apache   13705  0.3  0.1 293504 27340 ?        S    17:12   0:00 /usr/sbin/httpd apache   13706  0.3  0.1 293504 27324 ?      

关于查看进程所占用物理内存的问题

关于查看进程所占用物理内存的问题 一般查看进程所占物理内存的方法有:1) top其中的RES(其实就是RSS) 和SHR(就是本进程中共享库等占用的总大小,不取平均时)列. 2)ps其中ps或者新版本android中ps -A显示其中的RSS 3)pmap新版本的android支持pmap命令pmap -x 进程号其中的PSS和swap列.swap是交换到zram或者磁盘的物理内存大小. 需要注意的是:TermsVSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)RS

通过ngx-lua来统计Nginx上的虚拟主机性能数据

Web server调研分析 Filed under: Web Server — cmpan @ 2012-10-29 20:38:34 摘要 简单可依赖的架构首先需要有一个简单可依赖的前端WebServer集群.本文通过深入调研当前主流的异步web服务器Lighttpd和Nginx,从业界使用情况.架构原理.扩展开发.功能对比.性能对比等多个方面进行分析. 调研分析 业界相关 从业界使用情况来看,最新Web Server使用情况的数据如下:Nginx的使用率是6.6%,Lighttpd的使用率

nginx进程属主问题讨论

文章作者:luxianghao 文章来源:http://www.cnblogs.com/luxianghao/  转载请注明,谢谢合作. 免责声明:文章内容仅代表个人观点,如有不当,欢迎指正. --- 近来由于工作需求,和nginx接触较多,现把关于nginx进程属主的问题总结如下: 规则 nginx启动进程可以在conf里指定user(user  work;)但是这个只有在用root启动的情况有意义, 如果是用其他用户启动的nginx master是没有意义的 nginx会忽略这个配置,如下n

nginx进程模型 master/worker

nginx有两类进程,一类称为master进程(相当于管理进程),另一类称为worker进程(实际工作进程).启动方式有两种: (1)单进程启动:此时系统中仅有一个进程,该进程既充当master进程的角色,也充当worker进程的角色. (2)多进程启动:此时系统有且仅有一个master进程,至少有一个worker进程工作. master进程主要进行一些全局性的初始化工作和管理worker的工作:事件处理是在worker中进行的. 首先简要的浏览一下nginx的启动过程,如下图: 2.实现原理

Python:统计Apache进程占用的物理内存比

前面介绍过怎么统计系统剩余内存:http://msiyuetian.blog.51cto.com/8637744/1772888 下面这个主要是统计Apache进程占用的物理内存 我们可以通过以下命令查看Apache有哪些进程及其PID 1)ps aux |grep httpd 2)pidof httpd 这些进程所对应的目录都以PID命名临时存放在/proc/目录下,而记录进程的物理内存信息都记录在对应的PID目录下的 status 文件里面(VmRSS),统计VmRSS总和即为Apache所

重启或杀掉nginx进程后丢失nginx.pid

报错:     nginx: [error] invalid PIDnumber "" in "/usr/local/nginx1.6.3/logs/nginx.pid" 原因:     重启或杀掉nginx进程后丢失nginx.pid 解决:     /usr/local/nginx/sbin/nginx -c/usr/local/nginx/conf/nginx.conf 详解:     使用nginx -c的参数指定nginx.conf文件的位置

zabbix监控 nginx 进程

参考 http://chenx1242.blog.51cto.com/10430133/1837990 1 前期说明 zabbix_server查看"文件在后台运行数量"所对应的key就是:proc.num[<name>,<user>,<state>,<cmdline>],具体意思如下: <name>:进程名称,默认为"all processes": <user>:用户名,默认 "al

运行中nginx进程间的关系

在正式提供产品的环境下,部署nginx都是使用master进程来管理多个worker进程. 一般情况下,worker进程都与服务器上的核数相等,每一个worker进程都是繁忙的,它们真正的提供互联网服务. 而master进程则很清闲,只负责监控管理worker进程. worker进程之间通过共享内存,原子操作等一系列进程之间的通讯来实现负载均衡 共享内存( shared memory ) :共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问.共享内存是