作者mander (阿平)
看板P2PSoftWare
标题Re: [问题] rtorrent中的send buffer设定有何作用?
时间Sat Sep 6 15:16:23 2008
※ 引述《mander (阿平)》之铭言:
这里的send/receive buffer效果,与系统中的buffer/cache比较有什麽差异呢?
原本的预设值是0/0K,在设定了buffer size後(send/receive 各设成200MB/20MB後)
放了5分钟 10分钟 30分钟
检查了记忆体使用量,好像并没有什麽变化...
程式的记忆体使用量也没有增加(维持44MB)
$ free -m
total used free shared buffers cached
Mem: 504 498 5 0 4 449
-/+ buffers/cache: 44 459
Swap: 282 0 282
若站在减少磁碟读写的角度,有必要设定此项吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.108.84
1F:→ psboy :增加当然有用 至於你用free去看可能不太准确 因为 09/05 01:59
2F:→ psboy :记忆体的使用要看kernel设定 有的设定会把free的吃到 09/05 02:00
3F:→ psboy :剩下一点点 吃掉的那些都拿来做磁碟快取或是其他IO使 09/05 02:00
4F:→ psboy :用 不如用ps去看单独的process吃掉多少比较准一点 09/05 02:01
谢谢 系统kernel版本是Linux debian 2.6.25-2-686
ps的内容像是下面这样吗
这是大约前一篇文时的状态
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
home 17863 4.3 9.6 91100 49728 pts/1 S+ Sep04 58:08 rtorrent
ram使用约48mb,ul/dl rate在19/100k左右
...........
过了一天後如下,使用量降低猜测是流量变小了
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
home 17863 3.4 3.4 35868 17732 pts/1 S+ Sep04 104:13 rtorrent
约17mb,ul/dl rate在19/1.7k
并补上相对应的free -m状态
$ free -m
total used free shared buffers cached
Mem: 504 498 5 0 3 454
-/+ buffers/cache: 40 463
Swap: 282 0 282
从以上观察看起来,buffer size的大小好像不影响程式的记忆体使用量
又或者是buffer size的设定是没有生效或作用的!?
根据
http://tinyurl.com/3x6nyj 有提到的一段指令
跟着照打 "cat /proc/sys/net/ipv4/tcp_wmem" 得到了 三个数字
$cat /proc/sys/net/ipv4/tcp_wmem
4096 16384 2076672
(三个数字的意义
http://steve.chinavfx.net/?p=42)
话说rotrrent中 buffer size的设定好像跟这是没关系的(?),设了对tcp_wmem并没有
任何影响,不知为何要在文章中提到这个指令..
推
gen2linux :http://tinyurl.com/3x6nyj 09/05 02:10
5F:→ gen2linux :socket buffer设到200MB会不会太夸张.. 09/05 02:12
6F:→ gen2linux :一般经由setsockopt增大buf对效能都是有效的 09/05 02:14
7F:推 gen2linux :只是单位通常是kbytes吧 09/05 02:17
其实我对send buffer在系统中扮演的脚色不太清楚
200M是在找资料的过程中,刚好看到了有别人放上来的设定档有这样设的
http://ja.pastebin.ca/1177305 内容是临时性的,应该不久会被洗掉
内容的正确性未知,想说先设定看看效果如何
结果是如同上面所写的,觉得也许可以跟各为讨论讨论
目前暂时看不出有明显的效果 orz...
8F:→ Dataminer :send/receive buffer同磁碟读写关系不大, 它们是用 09/05 10:39
9F:→ Dataminer :来解决双方传输速率不同以及传送失败需要重新发送。 09/05 10:49
10F:推 gen2linux :不只是这样,那段buffer是提供kernel vs user space 09/06 03:35
11F:→ gen2linux :的缓冲,越大越可能减少互相拷贝的次数,以提升效能 09/06 03:36
12F:→ gen2linux :但对於"磁碟读写"这回事来说,跟应用程式本身的实作 09/06 03:37
13F:→ gen2linux :方法较相关没错 09/06 03:37
就磁碟读写这部分,根据我用"肉眼"的观察,硬碟灯的频率没有明显差异
至少在30秒的观察中并没有很明显的变化
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.67.184.14