linux系统snmpd服务内存偏高,Red Hat Enterprise Linux 5.4 64位系统SNMP内存泄漏(上)
1、SNMP的内存泄漏问题
SNMP的内存泄漏问题,我最早是在CDN的一台负载均衡调度机上看到的。一个snmpd进程,占用的VIRT将近4G。重启snmpd后VIRT降到150M左右,机器为Red Hat Enterprise Linux Server release 5.4 (Tikanga),64位机。当时纯粹地以为它只是占用内存大,没有想到内存泄漏这块。后来我跟连铭提起这事,他一针见血地说到了原因。
经过排查发现,rhel4上的snmpd占用的VIRT虚拟内存量不超过20M,同样版本红帽,32位系统上貌似没有这个问题。rhel 5.4 64位自带的snmpd版本是5.3.2.2-7。后来我们将它升到了5.3.2.2-9。这个版本有没有修复前一个小版本的Bug,我们不得而知。对于rhel 5U4而言,我们的yum源上也只有5.3.2.2-9的rpm。
2、OID
接下来再零零碎碎地写一些吧。首先是关于机器上某个进程所占用的内存量的问题,有两个OID可以特别关注一下:
1.3.6.1.2.1.25.4.2.1.2 这个OID是取得进程名称的
1.3.6.1.2.1.25.5.1.1.2 这个OID是取得内存占用量的
3、Linux内存管理中的一些概念
需要理解的是以下概念,是从网上摘抄的:
o: VIRT (Virtual Image) - 进程使用的总虚拟内存 (virtual memory) 大小,包括进程的程序码、资料和共享程序库再加上被置换 (swap out) 的空间。VIRT = SWAP + RES
p: SWAP (Swapped size) - 进程被置换的虚拟内存空间大小。
q: RES (Resident size) - 进程非被置换的实体内存大小。RES = CODE + DATA
r: CODE' (Code size) - 进程的程序码在实体内存占用空间大小,亦叫作 text resident set (TRS)。
s: DATA (Data+Stack size) - 进程占用实体内存中的非程序码部份大小,亦叫作 data resident set (DRS)。
t: SHR (Shared Mem size) - 进程使用的共享内存大小,即可以和其他进程共享的内存空间。
n: %MEM (Memory usage) - 进程占用实体内存大小对系统总实体内存大小的比例,以百分比显示。
4、取得SNMP的内存使用量
所以,如果我们要取得某个进程所占用的内存,基本上只要取RES的值就可以了。而且事实证明,1.3.6.1.2.1.25.5.1.1.2这个OID通过SNMP也是取RES值做为内存消耗量。
要想取得RES值,方法有很多:
1、用上面说的snmp OID的方法
2、用ps -eo cmd,rss |grep snmp命令,直接拿到RES字段
3、读/proc/pid/status文件,其中有个VmRSS,就是RES的值
希望在下一篇日志中,SNMP的内存泄漏问题能够得到彻底解决。
linux系统snmpd服务内存偏高,Red Hat Enterprise Linux 5.4 64位系统SNMP内存泄漏(上)相关推荐
- linux as 5 安装,本地硬盘安装Red Hat Enterprise Linux AS 5
Red Hat Enterprise Linux AS 5是我现在得到的最新的Red Hat企业版. Red Hat 的主页:http://www.redhat.com(有很多版本的Linux下载,英 ...
- Linux进程调度策略有哪几种,Red Hat Enterprise Linux 8的9种实时进程调度策略
Red Hat Enterprise Linux 8的9种实时进程调度策略 Red Hat Enterprise Linux 8使用是Linux内核版本是Kernel 4.18,其系统进程的实时调度策 ...
- red hat linux 安装oracle10g vm,oracle 10g 在 RED HAT ENTERPRISE LINUX 5下的安装
oracle 10g 在 RED HAT ENTERPRISE LINUX 5下的安装 ORACLE 10G在LINUX的安装: 先上来两张图: DBA是努力的方向,ORACLE DBA包罗万象,连L ...
- Red Hat Enterprise Linux 5.1 Server(正式版)各版本下载2011-04-17 22:21
Red Hat Enterprise Linux 5.1 Server(正式版)各版本下载2011-04-17 22:21 linuxserver虚拟化云计算ibm服务器 Red Hat领导着Linu ...
- Red Hat Enterprise Linux Server 7.4 安装方法
Red Hat Enterprise Linux Server 7.4 安装方法 注意:本次安装是在VMware Workstation 14 PRO上进行的. 第一部分:创建Red Hat Linu ...
- Red Hat Enterprise Linux 5安装Oracle(10g/11g)
一.安装系统 首先安装Linux系统,根据Oracle官方文档的建议,在机器内存小于1G的情况下,swap分区大小应该设置为内存的2倍大,若内存大于2G则swap分区设置为与内存大小一样. 其实Lin ...
- Red Hat Enterprise Linux 5安装Oracle10
Red Hat Enterprise Linux 5安装Oracle10 2009-07-08 18:04 一.安装系统 首先安装Linux系统,根据Oracle官方文档的建议,在机器内存小于1G的情 ...
- Red Hat Enterprise Linux 5安装图解
Red Hat Enterprise Linux 5安装图解 Linux发展到今天,我个人认为已经是一个很成熟的操作系统.最大的缺陷是支持他的应用比较少.作为一种开源软件,已经不错了.开源精神让我喜欢 ...
- linux 红帽6系统下载,Red Hat Enterprise Linux 6.2 ISO 下载
Red Hat宣布发布 Red Hat Enterprise Linux 6.2 主要新特性包括:改 进和增强存储和文件系统性能:支持PCI-e 3.0和USB 3.0:支持多种新款10 GbE网络适 ...
最新文章
- 【图论】有向无环图的拓扑排序
- 科普大V河森堡:用科学的方法回答哲学问题
- 调用Excel或Oracle数据,数据加载,selenium等使用实例
- 拼多多成为2021年春晚独家红包互动合作伙伴
- 关于svn的安装配置开启服务过程和 eclipse安装SVN插件的方法
- 维度退化(数据仓库)
- linux安全策略查询代码,Linux多安全策略和动态安全策略框架模块代码分析报告(14)...
- Atitit nlp自然语言处理类库(java python nodejs c#net) 目录 1.1. Python snownlp	1 1.2. NLP.js一个nodejs/javascri
- UltraEdit 注册机使用激活方法 更新:暴力破解
- handsome主题添加服务器信息,全屏响应式精美typecho主题handsome
- 华为计算机的隐藏应用程序,华为平板5怎么隐藏软件 荣耀5平板怎么隐藏应用程序?...
- WSL2中 使用jupyter lab
- 工具学习——有哪些好用的语音转文字app
- php提取字符串中数字,php提取字符串中的数字教程
- 2023最新计算机毕业设计题目汇总大全
- win10企业版LTSC-1809无法访问共享文件
- 谷歌学术里面的代码查找
- Booth编码以及运算实例
- 35岁程序员如何转型
- 【电源专题】为什么开关电源中使用脉冲频率调制(PFM)轻载效率会更高?
热门文章
- Win11怎么把右键刷新调出来?
- python中如何创建一个空列表_Python创建空列表的字典2种方法详解
- java开发cms视频教程下载地址_Java + MySQL 开发CMS系统实例教程
- java httpclient 进度条_SpringBoot如何实现一个实时更新的进度条的示例代码
- 利用c51进行数模转换并在液晶屏上显示_7.0寸tft触摸液晶屏可满足不同操作需求...
- gateway动态路由_微服务中的网关技术:Gateway
- 洛谷——P2524 Uim的情人节礼物·其之弐
- 洛谷——P1001 A+B Problem
- Unity渐变色实现
- jquery.rotate.js 转盘抽奖示例