Chinaunix

标题: 关于 v1.21 的问题 [打印本页]

作者: Jney402    时间: 2009-09-29 18:11
标题: 关于 v1.21 的问题
今天在ubuntu server 9.04 上测试v1.21 ,  经过多次确定,发现一个问题

服务器端没有回收内存 。
整个服务器就做一件事情:接收客户端上传的文件。
发现物理内存 free项 的数字不断的在减少,并没有增加,连续上传4个小时候后,内存耗尽,客户端异常退出了

就算用测试代码 "fdfs_test my.conf upload test.mp3"   单次测试后,内存减少200k 左右
然后停止所有,观察,没有任何恢复迹象,再次调用测试代码,又少100k多,又观察,还是没有回收,
以前用笔记本调试 1.20的时候都有回收,内存是不停的在变化的

想请斑竹确认下,问题出在那里,我客户端用的java ,而且客户端也调用了trackerServer.close();
是不是客户端还需要调用什么释放代码呢?
作者: Jney402    时间: 2009-09-29 18:16
另外,在 tracker.logs 里出现大量一下的错误代码,也请斑竹帮忙看下:

[2009-09-29 17:49:24] DEBUG - file: tracker_service.c, line: 1998, client ip: 192.168.0.22, recv data fail, errno: 107, error info: Transport endpoint is not connected
作者: happy_fish100    时间: 2009-09-29 20:10
标题: 回复 #1 Jney402 的帖子
通过top命令看系统整体的free内存,并没有多少参考价值。

要看一个进程有没有内存泄露,通过ps来看其占用的内存有没有持续增加而没有减少的情况。
比如:
ps auxww | grep fdfs
作者: happy_fish100    时间: 2009-09-29 20:12
标题: 回复 #1 Jney402 的帖子
客户端并发量是多少呢?
以前有人报告过此类问题的,都是因为客户端负载太高引起的网络超时异常。
作者: Jney402    时间: 2009-09-30 08:46
1. 我是单进程,不是压力测试

2. 用 ps auxww | grep fdfs 命令察看得到一下结果

USER    PID    %CPU %MEM    VSZ        RSS TTY      STAT START   TIME COMMAND
root      2825  0.0     0.3     2116956    3024 ?        Sl     08:05    0:00 fdfs_trackerd tracker.conf
root      3088  0.0     0.3     2125652    3620 ?        Sl     08:05    0:00 fdfs_storaged storage.conf
root      3930  0.0     0.0     3544          792 pts/0    S+   08:38    0:00 grep fdfs

但是每当我调用客户端上传文件的时候
root      3088  0.0     0.3     2125652    3620 ?        Sl     08:05    0:00 fdfs_storaged storage.conf
里的 3620 这个值,会一直增加, 我查了下RSS这个值,就是实际占用内存(k)  说明storaged 占用的内存在一直增加
我想所以我看到的总内存也在一直增加,这样如果一直运行

但是,下载文件的时候却不会增加,所有内存占用值没有任何变化
作者: Jney402    时间: 2009-09-30 08:52
删除文件的时候,也会出现以上现象,storage 的 rss值增加,停止所有的进程,观察一段施加,也并没有任何减少
作者: happy_fish100    时间: 2009-09-30 09:01
标题: 回复 #5 Jney402 的帖子
因为采用了多线程模型,只有运行一段时间后,占用的内存才会保持稳定。
不能看一开始的内存占用,这个没有多大参考意义。
作者: Jney402    时间: 2009-09-30 09:32
其实我也知道这个道理,就是有点担心资源耗用太高
只要斑竹确定没问题就行,而且也有公司在使用这个架构了,所以,我还是相信 fastdfs 的
那再观察一段时间吧

谢谢斑竹的回复,有问题的时候再咨询




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2