sendfile не включается почему-то

Igor Sysoev is at rambler-co.ru
Sun Feb 24 19:55:03 MSK 2008


On Sun, Feb 24, 2008 at 12:43:18PM +0300, Михаил Монашёв wrote:

> Здравствуйте Игорь,
> 
> >> sendfile почему-то не работает:
> >> 
> >> sysctl -a | grep sfbuf
> >> kern.ipc.nsfbufsused: 0
> >> kern.ipc.nsfbufspeak: 0
> >> kern.ipc.nsfbufs: 0
> >> 
> >> netstat -m
> >> 4167/4158/8325 mbufs in use (current/cache/total)
> >> 369/1985/2354/65536 mbuf clusters in use (current/cache/total/max)
> >> 369/1935 mbuf+clusters out of packet secondary zone in use (current/cache)
> >> 0/35/35/16896 4k (page size) jumbo clusters in use (current/cache/total/max)
> >> 0/0/0/8448 9k jumbo clusters in use (current/cache/total/max)
> >> 0/0/0/4224 16k jumbo clusters in use (current/cache/total/max)
> >> 1779K/5149K/6929K bytes allocated to network (current/cache/total)
> >> 0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters)
> >> 0/0/0 requests for jumbo clusters denied (4k/9k/16k)
> >> 0/0/0 sfbufs in use (current/peak/max)
> >> 0 requests for sfbufs denied
> >> 0 requests for sfbufs delayed
> >> 32775 requests for I/O initiated by sendfile
> 
> IS> Работает.
> 
> >> 0 calls to protocol drain routines
> >> 
> >> FreeBSD 7.0-PRERELEASE
> >> 
> >> Вопрос: почему не работает sendfile?
> 
> IS> На amd64 sfbufs не используются и там просто нет этих лимитов.
> 
> А какие буферы он тогда использует?

sfbufs - это не буфера, а адреса в ядерном адресном пространстве.
В 32-битной архитектуре адресное пространство ограничено, поэтому
приходится явно описывать, чем нужно жертвовать.
В 64-битной архитектуре адресное пространство огромное и пока таких
проблем нет (похожая ситуация была в Линуксе, когда машины имели до
1G физической памяти, а потом придумали HIGHMEM).

> И  не ясно вот что: почему LA вырос в разы после того, как я добавил в
> /boot/loader.conf и /etc/sysctl.conf то, что там сейчас есть?

А вот это
worker_processes  30;
было каким ?


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list