yaopg,你好;
我一开始也是这么考虑的把buffer调整的大一些,
-> memShow
SUMMARY:
status bytes blocks avg block max block
------ ---------- --------- ---------- ----------
current
free 20188296 209 96594 19350504
alloc 5749368 428 13433 -
cumulative
alloc 6789500 3585 1893 -
value = 0 = 0x0
->
->
->
-> mbufShow
type number
--------- ------
FREE : 129
DATA : 3
HEADER : 868
SOCKET : 0
PCB : 0
RTABLE : 0
HTABLE : 0
ATABLE : 0
SONAME : 0
ZOMBIE : 0
SOOPTS : 0
FTABLE : 0
RIGHTS : 0
IFADDR : 0
CONTROL : 0
OOBDATA : 0
IPMOPTS : 0
IPMADDR : 0
IFMADDR : 0
MRTABLE : 0
TOTAL : 1000
number of mbufs: 1000
number of times failed to find space: 0
number of times waited for space: 0
number of times drained protocols for space: 0
__________________
CLUSTER POOL TABLE
_______________________________________________________________________________
size clusters free usage
-------------------------------------------------------------------------------
64 100 99 5
128 15000 14131 3136
256 256 256 0
512 100 100 0
1024 50 50 0
2048 50 50 0
-------------------------------------------------------------------------------
value = 80 = 0x50 = 'P'
因为128的包站决大部分,所以我吧NUM_128调成15000,但是问题还是回出现ring buffer overflow! 同时tNetTask的priority也调整了(=10),不知道问题在那里?
还有一事不明
size clusters free usage
-------------------------------------------------------------------------------
64 100 99 5
128 15000 14131 3136
这里cluster!=free+usage, 是不是因为usage中有释放了重新使用的?