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内存泄漏(上)相关推荐

  1. linux as 5 安装,本地硬盘安装Red Hat Enterprise Linux AS 5

    Red Hat Enterprise Linux AS 5是我现在得到的最新的Red Hat企业版. Red Hat 的主页:http://www.redhat.com(有很多版本的Linux下载,英 ...

  2. Linux进程调度策略有哪几种,Red Hat Enterprise Linux 8的9种实时进程调度策略

    Red Hat Enterprise Linux 8的9种实时进程调度策略 Red Hat Enterprise Linux 8使用是Linux内核版本是Kernel 4.18,其系统进程的实时调度策 ...

  3. 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 ...

  4. 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 ...

  5. Red Hat Enterprise Linux Server 7.4 安装方法

    Red Hat Enterprise Linux Server 7.4 安装方法 注意:本次安装是在VMware Workstation 14 PRO上进行的. 第一部分:创建Red Hat Linu ...

  6. Red Hat Enterprise Linux 5安装Oracle(10g/11g)

    一.安装系统 首先安装Linux系统,根据Oracle官方文档的建议,在机器内存小于1G的情况下,swap分区大小应该设置为内存的2倍大,若内存大于2G则swap分区设置为与内存大小一样. 其实Lin ...

  7. Red Hat Enterprise Linux 5安装Oracle10

    Red Hat Enterprise Linux 5安装Oracle10 2009-07-08 18:04 一.安装系统 首先安装Linux系统,根据Oracle官方文档的建议,在机器内存小于1G的情 ...

  8. Red Hat Enterprise Linux 5安装图解

    Red Hat Enterprise Linux 5安装图解 Linux发展到今天,我个人认为已经是一个很成熟的操作系统.最大的缺陷是支持他的应用比较少.作为一种开源软件,已经不错了.开源精神让我喜欢 ...

  9. 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网络适 ...

最新文章

  1. 【图论】有向无环图的拓扑排序
  2. 科普大V河森堡:用科学的方法回答哲学问题
  3. 调用Excel或Oracle数据,数据加载,selenium等使用实例
  4. 拼多多成为2021年春晚独家红包互动合作伙伴
  5. 关于svn的安装配置开启服务过程和 eclipse安装SVN插件的方法
  6. 维度退化(数据仓库)
  7. linux安全策略查询代码,Linux多安全策略和动态安全策略框架模块代码分析报告(14)...
  8. Atitit nlp自然语言处理类库(java python nodejs c#net) 目录 1.1. Python snownlp 1 1.2. NLP.js一个nodejs/javascri
  9. UltraEdit 注册机使用激活方法 更新:暴力破解
  10. handsome主题添加服务器信息,全屏响应式精美typecho主题handsome
  11. 华为计算机的隐藏应用程序,华为平板5怎么隐藏软件 荣耀5平板怎么隐藏应用程序?...
  12. WSL2中 使用jupyter lab
  13. 工具学习——有哪些好用的语音转文字app
  14. php提取字符串中数字,php提取字符串中的数字教程
  15. 2023最新计算机毕业设计题目汇总大全
  16. win10企业版LTSC-1809无法访问共享文件
  17. 谷歌学术里面的代码查找
  18. Booth编码以及运算实例
  19. 35岁程序员如何转型
  20. 【电源专题】为什么开关电源中使用脉冲频率调制(PFM)轻载效率会更高?

热门文章

  1. Win11怎么把右键刷新调出来?
  2. python中如何创建一个空列表_Python创建空列表的字典2种方法详解
  3. java开发cms视频教程下载地址_Java + MySQL 开发CMS系统实例教程
  4. java httpclient 进度条_SpringBoot如何实现一个实时更新的进度条的示例代码
  5. 利用c51进行数模转换并在液晶屏上显示_7.0寸tft触摸液晶屏可满足不同操作需求...
  6. gateway动态路由_微服务中的网关技术:Gateway
  7. 洛谷——P2524 Uim的情人节礼物·其之弐
  8. 洛谷——P1001 A+B Problem
  9. Unity渐变色实现
  10. jquery.rotate.js 转盘抽奖示例