Jason Jiang - Solaris China Team <Jason.Jiang at Sun.COM> wrote: JJ> Dan Mick ??: >> jason jiang wrote: >> >>> Hi, >>> When I run some network stress testing, I occasionally met a situation that the kernel memory was used up(around 99%). How can I debug who hold so many memory? And I can not find memory leaks after 'reboot -d'. >>> >> >> Search the mdb manual for "findleaks" and "kmausers". >> JJ> I have done the findleaks and found there was no leaks. For the JJ> kmausers, is it possible to list all the memory users includes user mode JJ> programe?
Memory is not necessarily leaking - it may be tied up in network buffers. You may quickly check how many messages you have on the read queues of all streams: ::stdata -q | ::str2wrq | ::q2otherq | \ ::print queue_t q_first| ::walk b_next| ::walk b_cont ! wc -l You can see more detail with ::stdata -q | ::str2wrq | ::q2otherq | \ ::print queue_t q_first| ::walk b_next| ::walk b_cont | ::mblk Just looking at ::stdata -q | ::stream shows all streams state, you need to look at the cnt value looking for large piles of messages. - akolb