Jump to content
Калькуляторы

Что такое прерывания Колонка прерываний при top -SPH

Добрый день.

Есть шлюз (шейп, нат) (dummynet + ipfw)

 

top -SPH
last pid: 74548;  load averages:  1.07,  1.02,  1.00           up 39+03:03:26  19:04:04
119 processes: 10 running, 88 sleeping, 1 zombie, 20 waiting
CPU 0:  0.0% user,  0.0% nice, 16.7% system,  0.0% interrupt, 83.3% idle
CPU 1:  0.0% user,  0.0% nice, 18.8% system,  0.0% interrupt, 81.3% idle
CPU 2:  0.0% user,  0.0% nice,  0.0% system, 64.6% interrupt, 35.4% idle
CPU 3:  0.0% user,  0.0% nice,  0.0% system, 75.0% interrupt, 25.0% idle
CPU 4:  0.0% user,  0.0% nice, 40.4% system,  0.0% interrupt, 59.6% idle
CPU 5:  0.0% user,  0.0% nice, 40.4% system,  0.0% interrupt, 59.6% idle
CPU 6:  0.0% user,  0.0% nice,  6.3% system,  0.0% interrupt, 93.8% idle
CPU 7:  0.0% user,  0.0% nice,  6.3% system,  0.0% interrupt, 93.8% idle
Mem: 41M Active, 769M Inact, 1066M Wired, 55M Cache, 213M Buf, 37M Free
Swap: 5243M Total, 5243M Free

при этом
[gw-151-20 ~]$ netstat -w1
          input        (Total)           output
 packets  errs idrops      bytes    packets  errs      bytes colls
  355257     0     0  318256981     341995     0  293776057     0

 

Об]ясните пожалуйста, что за колонка interrupt напротив каждого ядра.(прерывания, но что за прерывания)

И самое интересное - почему нагрузка в процентах только напротив 2-х из 8-ми ядер.

 

В системе две pci-e сетевухи (одна 4-х головая, вторая 6-ти головая)

 

[root@gw-151-7 /usr/home/kris]# vmstat -i
interrupt                          total       rate
irq16: xhci1                 19607884415      82363
irq18: em0 em1 em2+            877008021       3683
irq19: em4 em5+                478109820       2008
irq23: ehci0 ehci1                637712          2
cpu0:timer                     981277648       4121
irq256: em6                       883228          3
irq257: igb0:que 0             684588450       2875
irq258: igb0:que 1             757659213       3182
irq259: igb0:link                      2          0
irq260: igb1:que 0             814657056       3422
irq261: igb1:que 1             831513082       3492
irq262: igb1:link                      2          0
irq263: igb2:que 0             685350380       2878
irq264: igb2:que 1             763601256       3207
irq265: igb2:link                      2          0
irq266: igb3:que 0             825591792       3467
irq267: igb3:que 1             838246720       3521
irq268: igb3:link                      2          0
irq270: ahci1                     991257          4
cpu1:timer                     973962408       4091
cpu7:timer                     579147261       2432
cpu2:timer                     859086109       3608
cpu4:timer                     705039272       2961
cpu3:timer                     792264171       3327
cpu5:timer                     806728568       3388
cpu6:timer                     605893850       2545
Total                        33470121697     140592

Edited by utcon

Share this post


Link to post
Share on other sites

А полностью top -aSCHIP можете показать?

 

Так-то ответ, скорее всего, что прерывания от [очередей] сетёвок наверняка "сели" только на два процессора.

 

sysctl net.isr крутили?

 

 

Edited by Dyr

Share this post


Link to post
Share on other sites

А полностью top -aSCHIP можете показать?

 

Так-то ответ, скорее всего, что прерывания от [очередей] сетёвок наверняка "сели" только на два процессора.

 

sysctl net.isr крутили?

 

Вот top -aSCHIP

last pid:  6748;  load averages:  1.59,  1.65,  1.64                                                                                 up 2+20:27:09  12:11:33
167 processes: 10 running, 118 sleeping, 39 waiting
CPU 0:  0.0% user,  0.0% nice,  5.9% system, 20.1% interrupt, 74.0% idle
CPU 1:  0.0% user,  0.0% nice,  2.0% system, 58.7% interrupt, 39.4% idle
CPU 2:  0.0% user,  0.0% nice,  8.3% system,  0.0% interrupt, 91.7% idle
CPU 3:  0.0% user,  0.0% nice,  9.4% system,  0.0% interrupt, 90.6% idle
CPU 4:  0.0% user,  0.0% nice,  8.3% system,  0.0% interrupt, 91.7% idle
CPU 5:  0.0% user,  0.0% nice,  7.1% system,  0.0% interrupt, 92.9% idle
CPU 6:  0.0% user,  0.0% nice,  7.5% system,  0.0% interrupt, 92.5% idle
CPU 7:  0.0% user,  0.0% nice,  3.1% system,  0.0% interrupt, 96.9% idle
Mem: 41M Active, 324M Inact, 656M Wired, 256K Cache, 206M Buf, 824M Free
Swap: 5243M Total, 5243M Free

 PID USERNAME   PRI NICE   SIZE    RES STATE   C   TIME    CPU COMMAND
  11 root       155 ki31     0K   128K CPU7    7  59.5H 100.00% [idle{idle: cpu7}]
  11 root       155 ki31     0K   128K CPU6    6  58.6H 98.49% [idle{idle: cpu6}]
  11 root       155 ki31     0K   128K CPU2    2  55.3H 95.56% [idle{idle: cpu2}]
  11 root       155 ki31     0K   128K CPU5    5  58.6H 95.36% [idle{idle: cpu5}]
  11 root       155 ki31     0K   128K CPU3    3  58.1H 93.70% [idle{idle: cpu3}]
  11 root       155 ki31     0K   128K RUN     4  57.1H 92.14% [idle{idle: cpu4}]
  11 root       155 ki31     0K   128K CPU0    0  39.9H 79.79% [idle{idle: cpu0}]
  12 root       -88    -     0K   640K WAIT    1  21.9H 54.69% [intr{irq16: xhci1}]
  11 root       155 ki31     0K   128K RUN     1  23.7H 33.54% [idle{idle: cpu1}]
   0 root       -92    0     0K   400K -       6 319:54 10.35% [kernel{igb3 que}]
   0 root       -92    0     0K   400K -       7 367:32  7.96% [kernel{igb1 que}]
  12 root       -92    -     0K   640K WAIT    0 311:56  6.01% [intr{irq266: igb3:que}]
  12 root       -92    -     0K   640K WAIT    0 260:54  5.96% [intr{irq260: igb1:que}]
   0 root       -92    0     0K   400K -       2 413:38  5.57% [kernel{igb2 que}]
   0 root       -92    0     0K   400K -       3 343:58  5.22% [kernel{igb3 que}]
   0 root       -92    0     0K   400K -       5 352:00  4.88% [kernel{igb1 que}]
   0 root       -92    0     0K   400K -       4 321:48  3.66% [kernel{igb0 que}]
  12 root       -92    -     0K   640K WAIT    1 200:37  3.66% [intr{irq258: igb0:que}]
  12 root       -92    -     0K   640K WAIT    1 236:08  3.42% [intr{irq267: igb3:que}]
  12 root       -92    -     0K   640K WAIT    1 192:13  3.27% [intr{irq261: igb1:que}]
   0 root       -92    0     0K   400K -       0 279:18  2.69% [kernel{em0 taskq}]
   0 root       -92    0     0K   400K -       1 295:56  2.39% [kernel{em3 taskq}]
  12 root       -92    -     0K   640K WAIT    1 190:55  2.29% [intr{irq264: igb2:que}]
  12 root       -92    -     0K   640K WAIT    0 227:42  1.07% [intr{irq257: igb0:que}]
  12 root       -92    -     0K   640K WAIT    0 243:57  0.88% [intr{irq263: igb2:que}]
   0 root       -92    0     0K   400K -       4 342:12  0.63% [kernel{igb2 que}]
   0 root       -92    0     0K   400K -       4 305:45  0.49% [kernel{igb0 que}]

 

Что касается netisr

[root@gw]# sysctl net.isr
net.isr.numthreads: 8
net.isr.maxprot: 16
net.isr.defaultqlimit: 4096
net.isr.maxqlimit: 10240
net.isr.bindthreads: 1
net.isr.maxthreads: 8
net.isr.direct: 0
net.isr.direct_force: 0
net.isr.dispatch: direct

Share this post


Link to post
Share on other sites

Вас не смущает эта строка?

12 root   	-88    - 	0K   640K WAIT    1  21.9H 54.69% [intr{irq16: xhci1}] 

 

 

А должна ;) Вам так сильно нужно USB3.0 на сервере? Соберите тогда драйвер модулем и подгружайте при необходимости.

Кстати, я совершенно упустил её из вашего первого сообщения с vmstat -i

 

 

irq16: xhci1                 19607884415      82363

 

82 000 прерываний в секунду от контроллера USB3.0, это мощно.

 

 

И можете PR засабмитить.

 

Всё остальное на мой взгляд, выглядит просто шоколадно.

Edited by Dyr

Share this post


Link to post
Share on other sites

Вас не смущает эта строка?

12 root   	-88    - 	0K   640K WAIT    1  21.9H 54.69% [intr{irq16: xhci1}] 

 

 

А должна ;) Вам так сильно нужно USB3.0 на сервере? Соберите тогда драйвер модулем и подгружайте при необходимости.

Кстати, я совершенно упустил её из вашего первого сообщения с vmstat -i

 

 

irq16: xhci1                 19607884415      82363

 

82 000 прерываний в секунду от контроллера USB3.0, это мощно.

 

 

И можете PR засабмитить.

 

Всё остальное на мой взгляд, выглядит просто шоколадно.

 

Огромное спасибо, 3.0 отключим. А чего только по двум ядрам разбросаны эти прерывания ? Есть вариант как то на это влиять ? (смущает что ядре 8-мь а разброс виден только на 2 ядра),

Share this post


Link to post
Share on other sites

А фиг его знает, по какому принципу он ездил по ядрам. :) Так-то у вас если поядерно смотреть, то все прерывания от очередей сосредоточены на первом ("1") ядре, а вся ядерная обработка раскидывается на потоки. Может быть, имеет смысл и без net.isr, хотя тут уже лучше пусть другие посоветуют.

 

PID 	C   	CPU 	COMMAND
0   	1   	2.39%   [kernel{em3taskq}]
12      1   	2.29%   [intr{irq264:igb2:que}]
12      1   	3.27%   [intr{irq261:igb1:que}]
12      1   	3.42%   [intr{irq267:igb3:que}]
12      1   	3.66%   [intr{irq258:igb0:que}]
12      1   	54.69%  [intr{irq16:xhci1}]
0   	2   	5.57%   [kernel{igb2que}]
0   	3   	5.22%   [kernel{igb3que}]
0   	4   	0.49%   [kernel{igb0que}]
0   	4   	0.63%   [kernel{igb2que}]
0   	4   	3.66%   [kernel{igb0que}]
0   	5   	4.88%   [kernel{igb1que}]
0   	6   	10.35%  [kernel{igb3que}]
0   	7   	7.96%   [kernel{igb1que}]

Edited by Dyr

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this