iptables: Memory allocation problem
Michal Hucik
hucik na inext.cz
Pondělí Květen 9 09:18:21 CEST 2005
Dobry den,
pouzivam na Linuxovych routerech iptables, ktere obsahuji spousty radku
(cca 15 - 20 tisic). Toto nastaveni slouzi predevsim k vyuziti data
counteru v tabulce mangle. Stav techto pocitadel se kazdou minutu uklada
do databaze k dalsimu zpracovani a vetsina se jich v tomto intervalu i
vynuluje pomoci 'iptables -Z [chain]'
Po nejake dobe provozu se vsak stane to, ze veskera volani iptables s
pokusem o zmenu nastaveni, nebo o smazani pocitadla skonci error kodem
a s hlasenim "iptables: Memory allocation problem".
Nekdy se podari problem odstranit tim, ze se uplne smaznou a pak opet
natahnou vsechny chainy, nekdy je potreba restartnout cely system.
Samotny kernel je o neco sdilnejsi a hlasi tohle:
allocation failed: out of vmalloc space - use vmalloc=<size> to increase
size.
Usuzuji z toho, ze alokovana pamet, ktera je k dispozici pro praci
kernelu neni dostatecne velka - je-li tomu skutecne tak, jak mu potom
muzu pridelit vetsi kus?
Rekl bych, ze skutecne pameti je k dispozici dostatek:
# cat /proc/meminfo
MemTotal: 1026452 kB
MemFree: 36120 kB
Buffers: 19024 kB
Cached: 768776 kB
SwapCached: 0 kB
Active: 164656 kB
Inactive: 686520 kB
HighTotal: 122816 kB
HighFree: 140 kB
LowTotal: 903636 kB
LowFree: 35980 kB
SwapTotal: 2008084 kB
SwapFree: 2007876 kB
Dirty: 7644 kB
Writeback: 0 kB
Mapped: 81464 kB
Slab: 49620 kB
CommitLimit: 2521308 kB
Committed_AS: 159884 kB
PageTables: 1548 kB
VmallocTotal: 114680 kB
VmallocUsed: 82580 kB
VmallocChunk: 31856 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB
Další informace o konferenci Linux