Страница 1 из 1

ZFS утечка памяти

Добавлено: 2012-08-20 7:30:18
ETESTT
Добрый день!

Имеется сервер с установленной ОС FreeBSD 8.3 под amd64. Файловая система zfs. На сервере пока запущени и активно используется named. Замечена утечка памяти. Из 12 ГБ памяти через 3 суток свободными остается только 1,5, большая часть помечена как wired:

Код: Выделить всё

MEM |  tot    12.0G  | free    1.5G  |  cache   0.3M  |  wired   9.0G |  activ 794.0M  |

Bind занимает порядка 1 гб памяти.

Судя по выводу vmstat -m процесс solaris расходует большую часть памяти:

Код: Выделить всё

solaris 1065258 8380064K       - 18227823529  16,32,64,128,256,512,1024,2048,4096
Что можно сделать, чтобы избавтиться от такой утечки памяти?

Re: ZFS утечка памяти

Добавлено: 2012-08-20 11:04:18
BirdGovorun
Посмотреть swapinfo , если в подкачку лезет, то искать надо, если нет то всё в порядке.

Re: ZFS утечка памяти

Добавлено: 2012-08-20 11:18:52
ETESTT
В SWAP пока точно не лезет. Удивительно что такое поведение нормально. Я думал, что как только свободная память закончится, демоны умирать начнут... Где-то можно подробнее прочитать про это?

Re: ZFS утечка памяти

Добавлено: 2012-08-20 11:37:48
BirdGovorun
Посмотрите что top выводит.

Код: Выделить всё

last pid: 18138;  load averages:  0.04,  0.01,  0.00                                                                  up 227+02:56:21 11:32:15
25 processes:  1 running, 24 sleeping
CPU:  1.7% user,  0.0% nice,  2.3% system,  0.9% interrupt, 95.1% idle
Mem: 27M Active, 3042M Inact, 644M Wired, 98M Cache, 410M Buf, 62M Free
Swap: 8192M Total, 0K Used, 8192M Free
Inact, 644M это то-же свободная память, сюда сбрасываются часто используемые данные,
при необходимости забирается отсюда.
Почитать где? Поищите в инете есть, я же где-то это прочитал :roll:

Re: ZFS утечка памяти

Добавлено: 2012-08-20 14:49:50
Nikauchik
BirdGovorun писал(а):Посмотрите что top выводит.

Код: Выделить всё

last pid: 18138;  load averages:  0.04,  0.01,  0.00                                                                  up 227+02:56:21 11:32:15
25 processes:  1 running, 24 sleeping
CPU:  1.7% user,  0.0% nice,  2.3% system,  0.9% interrupt, 95.1% idle
Mem: 27M Active, 3042M Inact, 644M Wired, 98M Cache, 410M Buf, 62M Free
Swap: 8192M Total, 0K Used, 8192M Free
Inact, 644M это то-же свободная память, сюда сбрасываются часто используемые данные,
при необходимости забирается отсюда.
Почитать где? Поищите в инете есть, я же где-то это прочитал :roll:
В вашем случае похоже 3042M Inact и 644M Wired. Автор же пишет что у него через несколько дней 9 ГБ в Wired уходят и обратно судя по всему не спешат возвращаться. А в sysctl переменные какие-нибудь менялись?

Re: ZFS утечка памяти

Добавлено: 2012-08-20 15:29:28
BirdGovorun
Nikauchik писал(а): В вашем случае похоже 3042M Inact и 644M Wired. Автор же пишет что у него через несколько дней 9 ГБ в Wired уходят и обратно судя по всему не спешат возвращаться. А в sysctl переменные какие-нибудь менялись?
Ну да, промахнулся при копировании.
Для ZFS большой Wired (memory used by the system) это как-бы нормально, прожорливая всё-таки ZFS.
Пока в swap не полезла, можно жить спокойно/

Re: ZFS утечка памяти

Добавлено: 2012-08-22 3:24:10
ETESTT
Переменные sysctl не трогал. Сервер перегружали, счетчики обнулились ;) Через пару дней можно будет сказать, будет ли память высвобождаться или нет.

Re: ZFS утечка памяти

Добавлено: 2012-08-22 5:30:18
kharkov_max
ETESTT писал(а):Переменные sysctl не трогал. Сервер перегружали, счетчики обнулились ;) Через пару дней можно будет сказать, будет ли память высвобождаться или нет.
Память высвобождаться не будет, и не нужно к этому стремится ...

У меня пул raidz на 6 дисках 2Тб, озу 16 гиг, так вот заняты все 16 через пол дня работы.
То что система есть ОЗУ, ни чего страшного, она всегда будет пытаться задействовать всю ОЗУ.

Главное что бы в swap не писало, вот если туда начнет писать - это проблема !!!

+ для ZFS нужно разобраться с системными переменными, свойствами самого пула и т.д. (zil, prefetch).

Re: ZFS утечка памяти

Добавлено: 2012-10-28 17:08:27
tom.cat
Господа, кто-нить разрешил проблему с wired памятью?
Ситуация схожая с предыдущими товарищами. Пул raidz 3 диска по 3ТБ, оперативки 12гиг, в wired'е 10гиг.

Re: ZFS утечка памяти

Добавлено: 2012-10-28 17:29:35
kharkov_max
tom.cat писал(а):Господа, кто-нить разрешил проблему с wired памятью?
Ситуация схожая с предыдущими товарищами. Пул raidz 3 диска по 3ТБ, оперативки 12гиг, в wired'е 10гиг.
А что не так ?
Что то не работает ?

Re: ZFS утечка памяти

Добавлено: 2012-10-28 22:34:27
tom.cat
kharkov_max писал(а): А что не так ?
Что то не работает ?
Все работает, тьфу тьфу :) Я интересуюсь, зачем ZFS столько памяти зарезервировано? Есть тулза zfs-stats, вот ее вывод:

Код: Выделить всё

# zfs-stats -a

------------------------------------------------------------------------
ZFS Subsystem Report				Sun Oct 28 23:29:21 2012
------------------------------------------------------------------------

System Information:

	Kernel Version:				901000 (osreldate)
	Hardware Platform:			amd64
	Processor Architecture:			amd64

	ZFS Storage pool Version:		28
	ZFS Filesystem Version:			5

FreeBSD 9.1-RC2 #0 r241372M: Fri Oct 12 18:41:23 MSK 2012 vovas
23:29  up 3 days,  2:46, 2 users, load averages: 0,35 0,45 0,40

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

System Memory:

	0.63%	75.13	MiB Active,	2.04%	242.44	MiB Inact
	86.71%	10.05	GiB Wired,	0.28%	33.18	MiB Cache
	10.33%	1.20	GiB Free,	0.01%	924.00	KiB Gap

	Real Installed:				12.00	GiB
	Real Available:			99.82%	11.98	GiB
	Real Managed:			96.81%	11.60	GiB

	Logical Total:				12.00	GiB
	Logical Used:			87.78%	10.53	GiB
	Logical Free:			12.22%	1.47	GiB

Kernel Memory:					8.89	GiB
	Data:				99.84%	8.88	GiB
	Text:				0.16%	14.59	MiB

Kernel Memory Map:				11.27	GiB
	Size:				74.59%	8.41	GiB
	Free:				25.41%	2.86	GiB

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

ARC Summary: (HEALTHY)
	Memory Throttle Count:			0

ARC Misc:
	Deleted:				40.95m
	Recycle Misses:				211.44k
	Mutex Misses:				11.04k
	Evict Skips:				573.08k

ARC Size:				83.58%	8.86	GiB
	Target Size: (Adaptive)		83.57%	8.86	GiB
	Min Size (Hard Limit):		12.50%	1.32	GiB
	Max Size (High Water):		8:1	10.60	GiB

ARC Size Breakdown:
	Recently Used Cache Size:	92.30%	8.17	GiB
	Frequently Used Cache Size:	7.70%	697.84	MiB

ARC Hash Breakdown:
	Elements Max:				378.82k
	Elements Current:		93.47%	354.10k
	Collisions:				40.43m
	Chain Max:				13
	Chains:					102.52k

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

ARC Efficiency:					256.55m
	Cache Hit Ratio:		83.54%	214.31m
	Cache Miss Ratio:		16.46%	42.24m
	Actual Hit Ratio:		78.99%	202.65m

	Data Demand Efficiency:		97.72%	82.75m
	Data Prefetch Efficiency:	22.95%	50.55m

	CACHE HITS BY CACHE LIST:
	  Anonymously Used:		3.58%	7.68m
	  Most Recently Used:		22.24%	47.65m
	  Most Frequently Used:		72.32%	154.99m
	  Most Recently Used Ghost:	0.49%	1.06m
	  Most Frequently Used Ghost:	1.36%	2.92m

	CACHE HITS BY DATA TYPE:
	  Demand Data:			37.73%	80.87m
	  Prefetch Data:		5.41%	11.60m
	  Demand Metadata:		56.80%	121.72m
	  Prefetch Metadata:		0.06%	121.07k

	CACHE MISSES BY DATA TYPE:
	  Demand Data:			4.47%	1.89m
	  Prefetch Data:		92.21%	38.95m
	  Demand Metadata:		2.82%	1.19m
	  Prefetch Metadata:		0.49%	208.79k

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

L2ARC is disabled

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

File-Level Prefetch: (HEALTHY)

DMU Efficiency:					327.63m
	Hit Ratio:			99.18%	324.94m
	Miss Ratio:			0.82%	2.68m

	Colinear:				2.68m
	  Hit Ratio:			1.68%	45.02k
	  Miss Ratio:			98.32%	2.64m

	Stride:					315.55m
	  Hit Ratio:			100.00%	315.53m
	  Miss Ratio:			0.00%	12.65k

DMU Misc:
	Reclaim:				2.64m
	  Successes:			57.14%	1.51m
	  Failures:			42.86%	1.13m

	Streams:				9.42m
	  +Resets:			0.15%	13.91k
	  -Resets:			99.85%	9.41m
	  Bogus:				0

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

VDEV cache is disabled

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

ZFS Tunables (sysctl):
	kern.maxusers                           384
	vm.kmem_size                            12451119104
	vm.kmem_size_scale                      1
	vm.kmem_size_min                        0
	vm.kmem_size_max                        329853485875
	vfs.zfs.l2c_only_size                   0
	vfs.zfs.mfu_ghost_data_lsize            8604090368
	vfs.zfs.mfu_ghost_metadata_lsize        172744192
	vfs.zfs.mfu_ghost_size                  8776834560
	vfs.zfs.mfu_data_lsize                  286654464
	vfs.zfs.mfu_metadata_lsize              283948544
	vfs.zfs.mfu_size                        604184064
	vfs.zfs.mru_ghost_data_lsize            255459328
	vfs.zfs.mru_ghost_metadata_lsize        475801088
	vfs.zfs.mru_ghost_size                  731260416
	vfs.zfs.mru_data_lsize                  8362655744
	vfs.zfs.mru_metadata_lsize              391904256
	vfs.zfs.mru_size                        8774755328
	vfs.zfs.anon_data_lsize                 0
	vfs.zfs.anon_metadata_lsize             0
	vfs.zfs.anon_size                       2246656
	vfs.zfs.l2arc_norw                      1
	vfs.zfs.l2arc_feed_again                1
	vfs.zfs.l2arc_noprefetch                1
	vfs.zfs.l2arc_feed_min_ms               200
	vfs.zfs.l2arc_feed_secs                 1
	vfs.zfs.l2arc_headroom                  2
	vfs.zfs.l2arc_write_boost               8388608
	vfs.zfs.l2arc_write_max                 8388608
	vfs.zfs.arc_meta_limit                  2844344320
	vfs.zfs.arc_meta_used                   857119232
	vfs.zfs.arc_min                         1422172160
	vfs.zfs.arc_max                         11377377280
	vfs.zfs.dedup.prefetch                  1
	vfs.zfs.mdcomp_disable                  0
	vfs.zfs.write_limit_override            0
	vfs.zfs.write_limit_inflated            38583730176
	vfs.zfs.write_limit_max                 1607655424
	vfs.zfs.write_limit_min                 33554432
	vfs.zfs.write_limit_shift               3
	vfs.zfs.no_write_throttle               0
	vfs.zfs.zfetch.array_rd_sz              1048576
	vfs.zfs.zfetch.block_cap                256
	vfs.zfs.zfetch.min_sec_reap             2
	vfs.zfs.zfetch.max_streams              8
	vfs.zfs.prefetch_disable                0
	vfs.zfs.mg_alloc_failures               12
	vfs.zfs.check_hostid                    1
	vfs.zfs.recover                         0
	vfs.zfs.txg.synctime_ms                 1000
	vfs.zfs.txg.timeout                     5
	vfs.zfs.vdev.cache.bshift               16
	vfs.zfs.vdev.cache.size                 0
	vfs.zfs.vdev.cache.max                  16384
	vfs.zfs.vdev.write_gap_limit            4096
	vfs.zfs.vdev.read_gap_limit             32768
	vfs.zfs.vdev.aggregation_limit          131072
	vfs.zfs.vdev.ramp_rate                  2
	vfs.zfs.vdev.time_shift                 6
	vfs.zfs.vdev.min_pending                4
	vfs.zfs.vdev.max_pending                10
	vfs.zfs.vdev.bio_flush_disable          0
	vfs.zfs.cache_flush_disable             0
	vfs.zfs.zil_replay_disable              0
	vfs.zfs.zio.use_uma                     0
	vfs.zfs.snapshot_list_prefetch          0
	vfs.zfs.version.zpl                     5
	vfs.zfs.version.spa                     28
	vfs.zfs.version.acl                     1
	vfs.zfs.debug                           0
	vfs.zfs.super_owner                     0

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

Re: ZFS утечка памяти

Добавлено: 2012-10-30 17:57:26
skeletor

Код: Выделить всё

vfs.zfs.arc_max                         11377377280
Возможно под кешь arc много уходит. Попробуйте выделять не больше 6 Гб (половина от всей памяти)

Re: ZFS утечка памяти

Добавлено: 2012-10-31 17:17:31
suspender
собсно вопрос уже обсуждался : http://forum.lissyara.su/viewtopic.php?f=53&t=36719
Там же есть ссылки на теорию

Кстате

Код: Выделить всё

[den@mg01 ~]$ uptime
18:15  up 187 days,  4:29, 1 user, load averages: 0,00 0,01 0,00
сервак с тех пор ещё не перезагружался, показания top :

Код: Выделить всё

Mem: 423M Active, 337M Inact, 13G Wired, 176K Cache, 1448M Free
Swap: 24G Total, 24G Free
То ли хватает и хватало всегда памяти, то ли правда отдает по мере надобности ...