ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Загрузка CPU "em0 taskq"



После отключения net.isr.direct=0, картина следущая:
PID USERNAME       THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
   11 root             1 171 ki31     0K     8K RUN    496:20 19.68% idle: cpu0
   12 root             1 -44    -     0K     8K WAIT     0:40 19.09% swi1: net
   22 root             1 -68    -     0K     8K -      225:30  8.98% em0 taskq
   34 root             1 -68    -     0K     8K WAIT    81:59  8.69% irq18: em0 atapci1
17308 www              1  96    0   118M   106M RUN      1:02  1.27% nginx


21 октября 2009 г. 12:14 пользователь Кирилл <kirillrst@xxxxxxxxx> написал:
# vmstat -i
interrupt                          total       rate
irq4: sio0                             3          0
irq17: fxp0                            1          0
irq18: em0 atapci1             380860601       5127
cpu0: timer                    148559877       1999
Total                          529420482       7126

2009/10/21 Igor Sysoev <is@xxxxxxxxxxxxx>

On Wed, Oct 21, 2009 at 10:56:12AM +0400, Кирилл wrote:

> Добрый день, коллеги. Буду благодарен, если кто подскажет что это за процесс
> (*em0 taskq*) и почему так много поедает процессора. Ну не верю я что
> хваленая реализация сетевого стека во FreeBSD так проседает при 100Мбит.
> Машина: Celeron 2.8, 1Gb ОЗУ, 7.2-i386-20091008-RELENG_7_2. Выступает в роле
> web-акселератора, и кроме nginx ничего не крутится.
>
> /etc/rc.d/ipfilter onestop - Ни малейших перемен.
>
> # top -SP
> CPU: 13.5% user,  0.0% nice, 46.8% system,  6.4% interrupt, 33.3% idle
> Mem: 205M Active, 266M Inact, 152M Wired, 1068K Cache, 111M Buf, 368M Free
> Swap: 4096M Total, 56M Used, 4040M Free, 1% Inuse
>
>   PID USERNAME       THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
>    11 root             1 171 ki31     0K     8K RUN    476:04 30.76% idle:
> cpu0
>    22 root             1 -68    -     0K     8K -      204:36 *29.20% em0
> taskq*
>    34 root             1 -68    -     0K     8K WAIT    73:52  8.40% irq18:
> em0 atapci1
> 15763 www              1  96    0   203M   191M RUN      3:35  1.17% nginx
> ...

> # netstat -dw1
>             input        (Total)           output
>    packets  errs      bytes    packets  errs      bytes colls drops
>       8448     0    4671078       9177     0    6720956     0     0
>      25776     0   17436726      28118     0   17904026     0     0
>      32230     0   26810636      32266     0   21383868     0     0
>      23703     0   19727356      23627     0   13323592     0     0

Как уже правильно сказал Михаил, дело в числе пакетов, а не в мегабитах.
Чтобы посмотреть, сколько уходит на TCP/IP, нужно выключить
net.isr.direct=0, предварительно увеличив net.inet.ip.intr_queue_maxlen=2048.
Тогда в top'е появится процесс "swi1: net", который и занимается обработкой
TCP/IP. Удивляет большой процент у "irq18: em0 atapci1", что показывает
"vmstat -i" ? Имеет смысл попробовать в BIOS'е рассадить em и atapci
на разные прерывания (хотя это не всегда возможно).


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




--
kirillrst.com




--
kirillrst.com



 




Copyright © Lexa Software, 1996-2009.