why socket for communication between master and worker used the so large memory?

Maxim Dounin mdounin at mdounin.ru
Fri Mar 29 12:15:43 UTC 2013


Hello!

On Fri, Mar 29, 2013 at 07:14:49PM +0800, MCoder wrote:

> it's description in man lsof
> 
> SIZE, SIZE/OFF, or OFFSET
>     ... In other cases, files don't  have true  sizes  -  e.g., sockets,
> FIFOs, pipes - so lsof displays for their sizes the content amounts it
> finds in their kernel buffer descriptors (e.g., socket buffer size counts
> or TCP/IP window sizes.) ...

And what makes you think that:

a) Numbers given in SIZE/OFF column on your system for a 
particular type of object is memory used?  Note that e.g. window 
size is not a memory, as well as socket buffer size.

b) The particular column you are counting _is_ SIZE/OFF?

> 
> 
> 2013/3/29 Maxim Dounin <mdounin at mdounin.ru>
> 
> > Hello!
> >
> > On Fri, Mar 29, 2013 at 06:04:54PM +0800, MCoder wrote:
> >
> > > my nginx is just a http tunul proxy http connection, and max connection
> > is
> > > just lower than 100.
> > >
> > > # ps aux
> > > root     19849  0.0  0.0  18028  2452 ?        Ss    2012   0:00 nginx:
> > > master process /usr/local/qqwebsrv/nginx/sbin/nginx
> > > nobody   25389  0.1  0.0  19752  4104 ?        S    Mar25   9:07 nginx:
> > > worker process
> > > nobody   25390  0.1  0.0  19752  4104 ?        S    Mar25   9:03 nginx:
> > > worker process
> > > nobody   25391  0.1  0.0  19752  4108 ?        S    Mar25   8:46 nginx:
> > > worker process
> > > nobody   25392  0.1  0.0  19760  4116 ?        S    Mar25   8:58 nginx:
> > > worker process
> > >
> > > # lsof | grep nginx | grep socket
> > > nginx     19849       root    3w     unix 0xffff8102b7574380
> > >  1677964948 socket
> >
> > [...]
> >
> > > nginx     25392     nobody    3u     unix 0xffff8102b7574380
> > >  1677964948 socket
> > > nginx     25392     nobody    6u     unix 0xffff8102dce9dcc0
> > >  1677964950 socket
> > > nginx     25392     nobody    8u     unix 0xffff81027785a980
> > >  1677964954 socket
> > > nginx     25392     nobody   12u     unix 0xffff81010e285100
> > >  1677964958 socket
> > >
> > > # lsof |awk '$1=="nginx" && $NF == "socket" {n[$6]=$7} END {for (i in n)
> > {m
> > > += n[i]} print m / (1024 * 1024 * 1024)}'
> > > 12.5018
> >
> > What makes you think that what you are counting is memory?  From
> > here it looks like NODE column, with SIZE/OFF colum omitted for
> > some reason (likely just empty).  On a linux system here the
> > output looks like:
> >
> > $ lsof | egrep 'socket|SIZE'
> > COMMAND     PID      USER   FD      TYPE             DEVICE SIZE/OFF
> >  NODE NAME
> > nginx     30299   mdounin    3u     unix 0xffff880224f836c0      0t0
> > 1953927 socket
> > nginx     30299   mdounin    6u     unix 0xffff880413ff0380      0t0
> > 1953928 socket
> > nginx     30300   mdounin    6u     unix 0xffff880413ff0380      0t0
> > 1953928 socket
> >
> > --
> > Maxim Dounin
> > http://nginx.org/en/donation.html
> >
> > _______________________________________________
> > nginx mailing list
> > nginx at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx
> >

> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx


-- 
Maxim Dounin
http://nginx.org/en/donation.html



More information about the nginx mailing list