Re: mbufs and cluster
Re: mbufs and cluster
- Subject: Re: mbufs and cluster
- From: Josh Graessley <email@hidden>
- Date: Mon, 15 Aug 2005 13:12:42 -0700
Hello Michael,
I believe that once a cluster is used for mbufs, those mbufs are
never again collecting in to a cluster. Again, it has been some time
since I've mucked with that stuff, so I might be wrong.
It sounds like you're using too many mbufs. You might want to look in
to ways to reduce the number of mbufs in use.
-josh
On Aug 15, 2005, at 12:50 PM, Michael Tuexen wrote:
Hi Josh,
once again thank you very much!
Using your information I was able to find (after a one week search)
a 'mbuf cluster
leak' in the SCTP KAME implementation when the code runs on Mac OS X.
The point is, that it is no leak. What happens is that when a
program runs it needs
some mbufs. So some clusters are converted to mbufs and the number
of free mbuf
clusters shrinks.
After the program has finished the number of free mbuf clusters is
reduced but the number
of free mbufs is incremented. During tests this resulted in a
scenario where you ran out
of mbuf clusters.
So the question is: How/when are free mbufs put together to free
mbuf clusters again?
Best regards
Michael
On Aug 15, 2005, at 17:24 Uhr, Josh Graessley wrote:
If I remember correctly, mbufs themselves are stored in clusters.
A cluster can be used as a cluster on it's own or it can be used
to store mbufs. An mbuf is a fraction of a cluster. If the system
runs out of mbufs, it may convert a cluster in to something like 8
mbufs.
-josh
On Aug 15, 2005, at 7:46 AM, Michael Tuexen wrote:
Dear all,
I have a simple question:
Normally a used cluster element is one where there exist an mbuf
which has
a pointer to the cluster element. This happens at least when you
get it with
m_mclget or the corresponding macro. This would than mean that
the number of
uses mbufs is not larger than the number of used mbuf clusters.
But netstat -m gives for example:
[PowerMac:/] tuexen% netstat -m
330 mbufs in use:
325 mbufs allocated to data
1 mbufs allocated to packet headers
3 mbufs allocated to socket names and addresses
1 mbufs allocated to Appletalk data blocks
376/848 mbuf clusters in use
1778 Kbytes allocated to network (46% in use)
0 requests for memory denied
0 requests for memory delayed
0 calls to protocol drain routines
Why can it happen that the number of mbuf clusters is larger than
the number of mbufs?
Thank you very much for your help.
Best regards
Michael
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40apple.com
This email sent to email@hidden
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden