免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 26766 | 回复: 6
打印 上一主题 下一主题

dbus-daemon 占用内存过大! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-07 15:10 |显示全部楼层 |倒序浏览
本帖最后由 busyant 于 2011-03-07 15:15 编辑

RT
系统是web服务器,在线生产系统,已上线2个月左右,今天突然收到内存报警,进去一看
dbus-daemon进程占用2.6G内存,swap使用3.3G。
目前虽然对http影响不是很大(系统本身负载不高),但是内存占用过大始终不是个事!
目前也没有证据证明这个内存是持续增长上来的,还是突然爆发的。

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                       
31569 dbus      15   0 6588m 2.6g  964 S  0.0 66.9  15:58.54 dbus-daemon


google 了一上午没发现有意义的回复内容。
有没有朋友以前碰到过的?

论坛徽章:
0
2 [报告]
发表于 2011-03-11 15:52 |显示全部楼层
不好意思,两位哥们儿, 我因为忙于另外一个项目,今天才回来看。以下是所需要的内容:
因为是生产系统,上次出问题后,就重启messagebus服务了,今天回来一看,内存又一点一点增加上来了

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                             
26113 dbus      15   0  235m 184m  988 S  0.0  4.7   0:31.78 dbus-daemon


os:       CentOS 5.5 x64
dbus:   dbus-1.1.2-14.el5
/proc/下dbug的内存使用情况该怎么看?/proc/26113 下面的文件都是空文件。
# ll /proc/26113/
total 0
dr-xr-xr-x 2 dbus dbus 0 Mar  7 08:36 attr
-r-------- 1 root root 0 Mar 11 07:43 auxv
-r--r--r-- 1 root root 0 Mar  7 08:38 cmdline
-rw-r--r-- 1 root root 0 Mar 11 07:43 coredump_filter
-r--r--r-- 1 root root 0 Mar 11 07:43 cpuset
lrwxrwxrwx 1 root root 0 Mar 11 07:43 cwd -> /
-r-------- 1 root root 0 Mar 11 07:43 environ
lrwxrwxrwx 1 root root 0 Mar  7 08:41 exe -> /bin/dbus-daemon
dr-x------ 2 root root 0 Mar 11 07:43 fd
-r--r--r-- 1 root root 0 Mar 11 07:43 io
-r-------- 1 root root 0 Mar 11 07:43 limits
-rw-r--r-- 1 root root 0 Mar 11 07:43 loginuid
-r--r--r-- 1 root root 0 Mar 11 07:39 maps
-rw------- 1 root root 0 Mar 11 07:43 mem
-r--r--r-- 1 root root 0 Mar 11 07:43 mounts
-r-------- 1 root root 0 Mar 11 07:43 mountstats
-r--r--r-- 1 root root 0 Mar 11 07:43 numa_maps
-rw-r--r-- 1 root root 0 Mar 11 07:43 oom_adj
-r--r--r-- 1 root root 0 Mar 11 07:43 oom_score
lrwxrwxrwx 1 root root 0 Mar 11 07:43 root -> /
-r--r--r-- 1 root root 0 Mar 11 07:43 schedstat
-r--r--r-- 1 root root 0 Mar 11 07:43 smaps
-r--r--r-- 1 root root 0 Mar  7 08:37 stat
-r--r--r-- 1 root root 0 Mar  7 08:37 statm
-r--r--r-- 1 root root 0 Mar  7 08:38 status
dr-xr-xr-x 4 dbus dbus 0 Mar  7 08:36 task
-r--r--r-- 1 root root 0 Mar 11 07:43 wchan


pmap 的信息:
# pmap 26113|sort -k2 -nr
total           249668K
00002b6a1f4f4000 161116K rw---    [ anon ]
00002aaaab3da000  48992K rw---    [ anon ]
0000000040040000  10240K rw---    [ anon ]
ffffffffff600000   8192K -----    [ anon ]
00002b6a14d47000   2048K -----  /lib64/libsepol.so.1
00002b6a14b0a000   2048K -----  /lib64/libdl-2.5.so
00002b6a145af000   2048K -----  /lib64/libcap.so.1.10
00002b6a13f75000   2048K -----  /lib64/libselinux.so.1
00002b6a14f5e000   2044K -----  /lib64/libnss_files-2.5.so
00002b6a148fe000   2044K -----  /lib64/libc-2.5.so
00002b6a143ab000   2044K -----  /lib64/libaudit.so.0.0.0
00002b6a1418e000   2044K -----  /lib64/libpthread-2.5.so
00002b6a13d5e000   2044K -----  /lib64/libexpat.so.0.5.0
00002b6a147b0000   1336K r-x--  /lib64/libc-2.5.so
00002b6a138d6000    292K r-x--  /bin/dbus-daemon
00002b6a14d0c000    236K r-x--  /lib64/libsepol.so.1
00002b6a13d3e000    128K r-x--  /lib64/libexpat.so.0.5.0
00002b6a13b21000    112K r-x--  /lib64/ld-2.5.so
00002b6a14394000     92K r-x--  /lib64/libaudit.so.0.0.0
00002b6a14178000     88K r-x--  /lib64/libpthread-2.5.so
00007fff80ca6000     84K rw---    [ stack ]
00002b6a13f60000     84K r-x--  /lib64/libselinux.so.1
00002b6a14f48000     48K rw---    [ anon ]
00002b6a14f54000     40K r-x--  /lib64/libnss_files-2.5.so
00002b6a14b02000     24K rw---    [ anon ]
00002b6a1438f000     20K rw---    [ anon ]
00002b6a14afd000     16K r----  /lib64/libc-2.5.so
00002b6a145ac000     12K r-x--  /lib64/libcap.so.1.10
00002b6a13f5d000     12K rw---  /lib64/libexpat.so.0.5.0
00002b6a14b08000      8K r-x--  /lib64/libdl-2.5.so
00002b6a145aa000      8K rw---  /lib64/libaudit.so.0.0.0
00002b6a14175000      8K rw---  /lib64/libselinux.so.1
00002b6a13b1f000      8K rw---  /bin/dbus-daemon
00002b6a1515e000      4K rw---  /lib64/libnss_files-2.5.so
00002b6a1515d000      4K r----  /lib64/libnss_files-2.5.so
00002b6a14f47000      4K rw---  /lib64/libsepol.so.1
00002b6a14d0b000      4K rw---  /lib64/libdl-2.5.so
00002b6a14d0a000      4K r----  /lib64/libdl-2.5.so
00002b6a14b01000      4K rw---  /lib64/libc-2.5.so
00002b6a147af000      4K rw---  /lib64/libcap.so.1.10
00002b6a1438e000      4K rw---  /lib64/libpthread-2.5.so
00002b6a1438d000      4K r----  /lib64/libpthread-2.5.so
00002b6a14177000      4K rw---    [ anon ]
00002b6a13d3d000      4K rw---  /lib64/ld-2.5.so
00002b6a13d3c000      4K r----  /lib64/ld-2.5.so
00002b6a13b47000      4K rw---    [ anon ]
00002b6a13b3d000      4K rw---    [ anon ]
000000004003f000      4K -----    [ anon ]
26113:   dbus-daemon --system


然后是pstree的信息:
# pstree 26113
dbus-daemon───{dbus-daemon}


linux的日常管理我还比较熟悉了,但是对这个问题还真一点方向都没有!

PS,明天开始出差2个多星期,回复可能会比较晚,但我一定会回来看。谢谢!!!

论坛徽章:
0
3 [报告]
发表于 2011-03-11 17:28 |显示全部楼层
回复 5# jerryjzm


   
又运行了一次,看到别的都原封不动,只有第一个增大了:
# pmap 26113|sort -k2 -nr
total           252680K
00002b6a1f4f4000 164128K rw---    [ anon ]
00002aaaab3da000  48992K rw---    [ anon ]
0000000040040000  10240K rw---    [ anon ]
ffffffffff600000   8192K -----    [ anon ]
00002b6a14d47000   2048K -----  /lib64/libsepol.so.1
00002b6a14b0a000   2048K -----  /lib64/libdl-2.5.so
00002b6a145af000   2048K -----  /lib64/libcap.so.1.10
00002b6a13f75000   2048K -----  /lib64/libselinux.so.1
00002b6a14f5e000   2044K -----  /lib64/libnss_files-2.5.so
00002b6a148fe000   2044K -----  /lib64/libc-2.5.so
00002b6a143ab000   2044K -----  /lib64/libaudit.so.0.0.0
00002b6a1418e000   2044K -----  /lib64/libpthread-2.5.so
00002b6a13d5e000   2044K -----  /lib64/libexpat.so.0.5.0
00002b6a147b0000   1336K r-x--  /lib64/libc-2.5.so
00002b6a138d6000    292K r-x--  /bin/dbus-daemon
00002b6a14d0c000    236K r-x--  /lib64/libsepol.so.1
00002b6a13d3e000    128K r-x--  /lib64/libexpat.so.0.5.0
00002b6a13b21000    112K r-x--  /lib64/ld-2.5.so
00002b6a14394000     92K r-x--  /lib64/libaudit.so.0.0.0
00002b6a14178000     88K r-x--  /lib64/libpthread-2.5.so
00007fff80ca6000     84K rw---    [ stack ]
00002b6a13f60000     84K r-x--  /lib64/libselinux.so.1
00002b6a14f48000     48K rw---    [ anon ]
00002b6a14f54000     40K r-x--  /lib64/libnss_files-2.5.so
00002b6a14b02000     24K rw---    [ anon ]
00002b6a1438f000     20K rw---    [ anon ]
00002b6a14afd000     16K r----  /lib64/libc-2.5.so
00002b6a145ac000     12K r-x--  /lib64/libcap.so.1.10
00002b6a13f5d000     12K rw---  /lib64/libexpat.so.0.5.0
00002b6a14b08000      8K r-x--  /lib64/libdl-2.5.so
00002b6a145aa000      8K rw---  /lib64/libaudit.so.0.0.0
00002b6a14175000      8K rw---  /lib64/libselinux.so.1
00002b6a13b1f000      8K rw---  /bin/dbus-daemon
00002b6a1515e000      4K rw---  /lib64/libnss_files-2.5.so
00002b6a1515d000      4K r----  /lib64/libnss_files-2.5.so
00002b6a14f47000      4K rw---  /lib64/libsepol.so.1
00002b6a14d0b000      4K rw---  /lib64/libdl-2.5.so
00002b6a14d0a000      4K r----  /lib64/libdl-2.5.so
00002b6a14b01000      4K rw---  /lib64/libc-2.5.so
00002b6a147af000      4K rw---  /lib64/libcap.so.1.10
00002b6a1438e000      4K rw---  /lib64/libpthread-2.5.so
00002b6a1438d000      4K r----  /lib64/libpthread-2.5.so
00002b6a14177000      4K rw---    [ anon ]
00002b6a13d3d000      4K rw---  /lib64/ld-2.5.so
00002b6a13d3c000      4K r----  /lib64/ld-2.5.so
00002b6a13b47000      4K rw---    [ anon ]
00002b6a13b3d000      4K rw---    [ anon ]
000000004003f000      4K -----    [ anon ]
26113:   dbus-daemon --system



但是这个 [ anon ] 表示什么呢?

论坛徽章:
0
4 [报告]
发表于 2011-03-11 17:37 |显示全部楼层
另外补充一个 /proc/26113/status 的信息:
# cat /proc/26113/status
Name:   dbus-daemon
State:  S (sleeping)
SleepAVG:       98%
Tgid:   26113
Pid:    26113
PPid:   1
TracerPid:      0
Uid:    81      81      81      81
Gid:    81      81      81      81
FDSize: 64
Groups:
VmPeak:   244756 kB
VmSize:   244744 kB
VmLck:         0 kB
VmHWM:    192640 kB
VmRSS:    192636 kB
VmData:   223720 kB
VmStk:        88 kB
VmExe:       292 kB
VmLib:      2136 kB
VmPTE:       448 kB
StaBrk: 2b6a1f4f4000 kB
Brk:    2b6a2957b000 kB
StaStk: 7fff80cba690 kB
Threads:        2
SigQ:   0/40960
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 0000000190004001
CapInh: 0000000000000000
CapPrm: 0000000020000000
CapEff: 0000000020000000
Cpus_allowed:   00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000003
Mems_allowed:   00000000,00000001

论坛徽章:
0
5 [报告]
发表于 2011-04-14 12:55 |显示全部楼层
一个月以后的信息:

# pmap 26113|sort -k2 -nr
total          1957388K
00002b6a1f4f4000 1524760K rw---    [ anon ]
00002aaaab3da000 393068K rw---    [ anon ]
0000000040040000  10240K rw---    [ anon ]
ffffffffff600000   8192K -----    [ anon ]
00002b6a14d47000   2048K -----  /lib64/libsepol.so.1
00002b6a14b0a000   2048K -----  /lib64/libdl-2.5.so
00002b6a145af000   2048K -----  /lib64/libcap.so.1.10
00002b6a13f75000   2048K -----  /lib64/libselinux.so.1
00002b6a14f5e000   2044K -----  /lib64/libnss_files-2.5.so
00002b6a148fe000   2044K -----  /lib64/libc-2.5.so
00002b6a143ab000   2044K -----  /lib64/libaudit.so.0.0.0
00002b6a1418e000   2044K -----  /lib64/libpthread-2.5.so
00002b6a13d5e000   2044K -----  /lib64/libexpat.so.0.5.0
00002b6a147b0000   1336K r-x--  /lib64/libc-2.5.so
00002b6a138d6000    292K r-x--  /bin/dbus-daemon
00002b6a14d0c000    236K r-x--  /lib64/libsepol.so.1
00002b6a13d3e000    128K r-x--  /lib64/libexpat.so.0.5.0
00002b6a13b21000    112K r-x--  /lib64/ld-2.5.so
..........................省略................

pstree 信息
# pstree 26113
dbus-daemon───{dbus-daemon}


懂的朋友麻烦指点一下!!

论坛徽章:
0
6 [报告]
发表于 2011-04-19 12:23 |显示全部楼层
回复 9# 南极雨


感谢兄台指点,不过请问怎样用dbus-monitor列出所有session?
dbus-monitor 的参数需要很了解linux的编程结构? 我看了半天他的manual,简直云里雾里!

我之前找到的进程就是一个[anon] 感觉没什么意义, 请问兄台可以通过他分析出来什么有用的信息么?

十分感谢!!

论坛徽章:
0
7 [报告]
发表于 2011-04-19 16:54 |显示全部楼层
使用dbus-monitor 连接session会报错:
# dbus-monitor
Failed to open connection to session message bus: Failed to execute dbus-launch to autolaunch D-Bus session

然后使用dbus-monitor --system 之后就进入漫长的等待:
# dbus-monitor --system
signal sender=org.freedesktop.DBus -> dest=:1.4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.4"


之前也看过第一篇文章,还是没什么方向。看来一定要去深入研究第二篇文章了。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP