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

FreeBSD 10 mpd5.7 mbuf проблемы с mbuf(?)

Добрый день.

 

Имеется сервер который раз в 2-3 дня ядро фряхи на котором паникует, в результате чего сервер перезагружается. Нагрузка судя по cacti с ребутами никак не коррелирует.

 

FreeBSD 10.0-RELEASE-p5

Ядро кастомное добавлен только NetGraph

 

На что подозрения:

netstat -m

[quote]65555/6955/72510 mbufs in use (current/cache/total)
65542/3682/69224/512000 mbuf clusters in use (current/cache/total/max)
65542/3664 mbuf+clusters out of packet secondary zone in use (current/cache)
0/18/18/256000 4k (page size) jumbo clusters in use (current/cache/total/max)
0/0/0/301750 9k jumbo clusters in use (current/cache/total/max)
0/0/0/169734 16k jumbo clusters in use (current/cache/total/max)
147472K/9174K/156647K bytes allocated to network (current/cache/total)
[b]1427/39763/65831 requests for mbufs denied (mbufs/clusters/mbuf+clusters)[/b]
0/0/0 requests for mbufs delayed (mbufs/clusters/mbuf+clusters)
0/0/0 requests for jumbo clusters delayed (4k/9k/16k)
18/0/0 requests for jumbo clusters denied (4k/9k/16k)
0 requests for sfbufs denied
0 requests for sfbufs delayed
0 requests for I/O initiated by sendfile
[/quote]

vmstat -z

[quote]ITEM                   SIZE  LIMIT     USED     FREE      REQ FAIL SLEEP

UMA Kegs:               384,      0,     101,       9,     101,   0,   0
UMA Zones:             3712,      0,     101,       0,     101,   0,   0
UMA Slabs:               80,      0,    3154,      46,   24692,   0,   0
UMA RCntSlabs:           88,      0,   34634,      16,   34634,   0,   0
UMA Hash:               256,      0,       1,      14,       8,   0,   0
4 Bucket:                32,      0,      34,    2966,    1331,   0,   0
8 Bucket:                64,      0,     157,    2881,    7424,   0,   0
[b]16 Bucket:              128,      0,     288,    2719,     551,  36,   0
32 Bucket:              256,      0,     262,    1463,     862, 159,   0
64 Bucket:              512,      0,     408,     360,    1109, 119,   0
128 Bucket:            1024,      0,     914,     898,   18165,  26,   0
vmem btag:               56,      0,   19223,    1864,   19223, 298,   0
VM OBJECT:              256,      0,    1567,    1913,  155768,   0,   0
RADIX NODE:             144,      0,    5755,    1886,  301975,  59,   0[/b]
MAP:                    240,      0,       3,      61,       3,   0,   0
KMAP ENTRY:             128,      0,       6,     273,       6,   0,   0
MAP ENTRY:              128,      0,     823,    4695,  471875,   0,   0
VMSPACE:                448,      0,      25,     794,   11021,   0,   0
fakepg:                 104,      0,       0,       0,       0,   0,   0
mt_zone:               4112,      0,     364,       0,     364,   0,   0
16:                      16,      0,    9394,    1901,  640000,   0,   0
32:                      32,      0,   24170,    3205,  772980,   0,   0
64:                      64,      0,   54924,    2178,  320171,   0,   0
128:                    128,      0,  133083,    3348,  543027,   0,   0
256:                    256,      0,    3258,    1332,  259155,   0,   0
512:                    512,      0,    1294,     450,   32583,   0,   0
1024:                  1024,      0,     108,     752,   73759,   0,   0
2048:                  2048,      0,     246,     162,   16089,   0,   0
4096:                  4096,      0,     602,     351,   19095,   0,   0
uint64 pcpu:              8,      0,    6300,    1508,    6732,   0,   0
SLEEPQUEUE:              80,      0,     526,    2357,     526,   0,   0
Files:                   80,      0,     135,    3015,   99306,   0,   0
TURNSTILE:              136,      0,     526,    1014,     526,   0,   0
rl_entry:                40,      0,     314,    2686,     314,   0,   0
umtx pi:                 96,      0,       0,       0,       0,   0,   0
MAC labels:              40,      0,       0,       0,       0,   0,   0
PROC:                  1208,      0,      44,     166,   11039,   0,   0
THREAD:                1168,      0,     397,     128,    2158,   0,   0
cpuset:                  72,      0,     206,    1554,     274,   0,   0
audit_record:          1248,      0,       0,       0,       0,   0,   0
[b]mbuf_packet:            256, 13035630,   65527,    3679, 1191484,65831,   0
mbuf:                   256, 13035630,      25,    3354, 1054682,1491,   0
mbuf_cluster:          2048, 512000,   69206,      18,   69206,39763,   0
mbuf_jumbo_page:       4096, 256000,       0,      22,     196,  22,   0[/b]
mbuf_jumbo_9k:         9216, 301750,       0,       0,       0,   0,   0
mbuf_jumbo_16k:       16384, 169734,       0,       0,       0,   0,   0
mbuf_ext_refcnt:          4,      0,       0,       0,       0,   0,   0
NetGraph items:          72,  65565,       1,    3378,  111256,   0,   0
NetGraph data items:     72,  65565,       1,    3874,  997677,   0,   0
g_bio:                  248,      0,       0,    1648,   14061,   0,   0
ttyinq:                 160,      0,     180,     920,     765,   0,   0
ttyoutq:                256,      0,      95,    1015,     407,   0,   0
ata_request:            336,      0,       0,       0,       0,   0,   0
vtnet_tx_hdr:            24,      0,       0,       0,       0,   0,   0
FPU_save_area:          832,      0,       0,       0,       0,   0,   0
VNODE:                  472,      0,     777,     383,     818,   0,   0
VNODEPOLL:              112,      0,       0,       0,       0,   0,   0
BUF TRIE:               144,      0,     101,  105847,    1045,   0,   0
NAMEI:                 1024,      0,       0,     340,  161661,   0,   0
S VFS Cache:            108,      0,     763,    2387,    7058,   0,   0
STS VFS Cache:          148,      0,       0,       0,       0,   0,   0
L VFS Cache:            328,      0,       0,       0,       0,   0,   0
LTS VFS Cache:          368,      0,       0,       0,       0,   0,   0
DIRHASH:               1024,      0,      54,      78,      54,   0,   0
NCLNODE:                528,      0,       0,       0,       0,   0,   0
Mountpoints:            816,      0,       4,      36,       4,   0,   0
pipe:                   744,      0,      13,     342,    8399,   0,   0
procdesc:               128,      0,       0,       0,       0,   0,   0
ksiginfo:               112,      0,     201,    2564,     238,   0,   0
itimer:                 352,      0,       1,      32,       1,   0,   0
KNOTE:                  128,      0,       3,     152,       3,   0,   0
socket:                 696, 1046775,      57,     363,   41130,   0,   0
unpcb:                  240, 1046784,      12,    1460,    8546,   0,   0
ipq:                     56,  16046,       0,       0,       0,   0,   0
udp_inpcb:              392, 1046780,      19,     801,   32328,   0,   0
udpcb:                   16, 1046921,      19,    2993,   32328,   0,   0
tcp_inpcb:              392, 1046780,       7,     603,     139,   0,   0
tcpcb:                 1024, 1046776,       7,     269,     139,   0,   0
tcptw:                   88,  27810,       0,       0,       0,   0,   0
syncache:               160,  15375,       0,     450,      28,   0,   0
hostcache:              136,  15370,       1,      86,       1,   0,   0
tcpreass:                40,  32000,       0,       0,       0,   0,   0
sackhole:                32,      0,       0,       0,       0,   0,   0
sctp_ep:               1408, 1046776,       0,       0,       0,   0,   0
sctp_asoc:             2352,  40000,       0,       0,       0,   0,   0
sctp_laddr:              48,  80012,       0,    2324,     114,   0,   0
sctp_raddr:             728,  80000,       0,       0,       0,   0,   0
sctp_chunk:             136, 400026,       0,       0,       0,   0,   0
sctp_readq:             104, 400026,       0,       0,       0,   0,   0
sctp_stream_msg_out:    104, 400026,       0,       0,       0,   0,   0
sctp_asconf:             40, 400000,       0,       0,       0,   0,   0
sctp_asconf_ack:         48, 400060,       0,       0,       0,   0,   0
ripcb:                  392, 1046780,       0,     670,      89,   0,   0
rtentry:                200,      0,     466,     894,     506,   0,   0
IPFW dynamic rule:      120,   4125,       0,       0,       0,   0,   0
divcb:                  392, 1046780,       0,       0,       0,   0,   0
selfd:                   56,      0,     279,    2774,  978745,   0,   0
SWAPMETA:               288, 4073641,       0,       0,       0,   0,   0
FFS inode:              168,      0,     726,    1045,     765,   0,   0
FFS1 dinode:            128,      0,       0,       0,       0,   0,   0
FFS2 dinode:            256,      0,     726,    1044,     765,   0,   0
NetFlow IPv4 cache:      88, 1048606,    3471,    3783,   32086,   0,   0
NetFlow IPv6 cache:     128, 1048606,       0,       0,       0,   0,   0
[/quote]

 

Тюнинг

loader.conf

[quote]hw.igb.rxd=4096
hw.igb.txd=4096
hw.ix.rxd=4096
hw.ix.txd=4096
net.graph.maxdata=65536
net.graph.maxalloc=65536
hw.igb.max_interrupt_rate=32000
hw.ix.max_interrupt_rate=32000
net.isr.defaultqlimit=4096
net.link.ifqmaxlen=10240
kern.ipc.semmnu=256
kern.ipc.semmns=32000
kern.ipc.shmmni=4096
net.isr.maxthreads=18

kern.ipc.nmbufs=0
kern.ipc.nmbclusters=512000
kern.ipc.nmbjumbop=256000
[/quote]

sysctl.conf

net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
kern.ipc.somaxconn=32768
net.inet.tcp.syncookies=1
net.inet.icmp.bmcastecho=0
net.inet.tcp.drop_synfin=1

net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=0
net.inet.ip.redirect=0
net.inet6.ip6.redirect=0

net.inet.ip.sourceroute=0
net.inet.ip.sourceroute=0
net.inet.icmp.maskrepl=0

net.inet.icmp.icmplim=10000
net.inet.tcp.msl=7500

net.inet.ip.portrange.first=1024
net.inet.ip.portrange.last=65535

net.inet.ip.intr_queue_maxlen=10240
net.route.netisr_maxqlen=10240

#kern.ipc.maxsockets=512000
net.inet.tcp.sack.enable=1
hw.intr_storm_threshold=9000

net.graph.maxdgram=8388608
net.graph.recvspace=8388608


kern.ipc.maxsockbuf=83886080
kern.maxfiles=512000
kern.maxfilesperproc=131072

#kern.ipc.nmbufs=0
kern.ipc.nmbclusters=512000
kern.ipc.nmbjumbop=256000
kern.ipc.nmbjumbo9=128000
kern.ipc.nmbjumbo16=64000

kern.random.sys.harvest.ethernet=0
kern.random.sys.harvest.point_to_point=0
kern.random.sys.harvest.interrupt=0

net.inet.raw.maxdgram=16384
net.inet.raw.recvspace=16384

kern.threads.max_threads_per_proc=16384

net.inet.ip.fastforwarding=1

net.inet.tcp.fast_finwait2_recycle=1
###########################

dev.igb.0.rx_processing_limit=4096
dev.igb.1.rx_processing_limit=4096

dev.ix.0.rx_processing_limit=4096
dev.ix.1.rx_processing_limit=4096

 

Сетевые карты igb Intel I350

Edited by ViacheslavR

Share this post


Link to post
Share on other sites

x64, да использую, количество всегда разное может даже и при минимальной нагрузке рухнуть. Минимум на нем 150 сессий максимум до 1000.

Share this post


Link to post
Share on other sites

У меня была очень большая беда с netflow + mpd5.

set netflow peer localhost 42111
set netflow timeouts 15 1800
set netflow version 5

Примерно такие строки, да?

Дело в том, что нужно уносить оттуда netflow, ибо на каждый новый коннект оно создает ещё 2 доп. ноды.

Когда подвисает сессия нетфлоу - машина может вести себя по разному.

У меня паник не было, он просто замирал. Даже консоль замирала, никакой реакции не отдавала.

Попробуйте выключить сперва netflow на mpd.

У меня после выключения пошли стабильные аптаймы, а до этого за месяц могло раз 10 вываливаться.

+ ещё 2 ссылки, почитайте, может найдете чего полезного

Обсуждение по сабжу

Мои попытки сделать нетфлоу на одной ноде

Да и не мешало б откатится на 9.2, т.к. 10 ещё сыровата.

Какой функционал из 10-ки вам нужен? Может проще просто на 9.2 перейти и не заниматься гемороем.

Edited by GrandPr1de

Share this post


Link to post
Share on other sites

mpd.conf

#netflow export
set netflow peer aa.bb.cc.dd 2009
set netflow timeouts 60 120
...............................
set iface enable netflow-in netflow-out
...................................

честно говоря не уверен насчет нетфлоу, т.к. есть еще сервера с абсолютно теми же настройками правда под 8.1, 8.2

Собственно до 10-ки этот же сервак крутился на 9.2, глюки те же.

Share this post


Link to post
Share on other sites

А что там лишнего? на мой взгляд вполне себе обычные настройки для таких задач.

UPD

1) убрал с интерфейсов igb lrob tso, добавил vlanhwfilter, txcsum, rxcsum

2) Заметил что ошибки mbuf, mbuf+cluster начинают расти только при отключении/включении интерфейсов igb

немного снизился load average, вторые сутки полет нормальный.

-------------------

Т.к. ната нет, то планирую убрать нетфлоу с каждой ноды, а снимать только с внешнего интерфейса, кроме того наверное отключу HT

Share this post


Link to post
Share on other sites

kern.ipc.somaxconn=32768
net.inet.tcp.syncookies=1
net.inet.tcp.drop_synfin=1
net.inet.tcp.msl=7500
net.inet.tcp.sack.enable=1
net.inet.tcp.fast_finwait2_recycle=1

 

Чем этот роутер у вас занимается что вы применили выше написанное?

По поводу выносу нетфлоу - правильное решение.

txcsum,rxcsum - не нужно, ещё нужно проверить наличие flowcontrol - и тоже повыключать, лично у меня в сети с флоуконтролом проблемы.

Share this post


Link to post
Share on other sites

kern.ipc.somaxconn=32768 - защита от synflood. "Large listen queues do a better job of avoiding Denial of Service (DoS) attacks".(FreeBSD Handbook)

net.inet.tcp.syncookies=1 Включение механизма syncookie когда syncache переполнен, тоже защита от ddos

net.inet.tcp.drop_synfin=1 - T/TCP не нужен

net.inet.tcp.msl=7500 -60 сек в состоянии TIME_WAIT долго(default 30000) 15 сек хватит

net.inet.tcp.sack.enable=1 TCP Selective Acknowledgements RFC2018 http://tools.ietf.org/html/rfc2018

net.inet.tcp.fast_finwait2_recycle=1 -быстрое закрытие соединений в состоянии fin_wait2

Share this post


Link to post
Share on other sites

net.inet.tcp

Это касается только трафика между хост системой и клиентами и совершенно никак не касается транзитного трафика.

Share this post


Link to post
Share on other sites

net.inet.tcp

Это касается только трафика между хост системой и клиентами и совершенно никак не касается транзитного трафика.

Как, собственно, и оставшийся somaxconn

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.