LINUX.ORG.RU
ФорумAdmin

Утечка памяти в SUSE 10.3


0

0

У меня комп с 3 Гб оперативки. Установил SUSE 10.3 Происходит такая вещь: После загрузки и старта иксов показатели использования памяти очень скромные, свободно 2.5 гига, но очень скоро, буквально через пару-другую часов работы картина становится уже вот такой:

total used free shared buffers cached Mem: 3108160 2233268 874892 0 190960 1737716 -/+ buffers/cache: 304592 2803568 Swap: 4096532 0 4096532

Затем уже в своп падает и начинает тормозить. Это при трёх Гб! Десктоп - KDE, причём с очень минималистской настройкой. Почему такой огромный объём жрёт кэш? Такое ощущение, что он вообще не высвобождается никогда. К примеру, запускал копирование большого числа файлов с помощью mc, так все 3 гига улетели за считанные минуты! Это при том, что я ничего при этом не трогал, просто копировались файлы и всё. Если кто знает в чём дело, помогите, пожалуйста.

anonymous

Ещё уточнение - у меня мать с NVidia Raid, зеркало, в биосе выставляется, но он не в полном смысле аппаратный. Дрова под ось ставятся потом, точнее, SUSE их находит сама в дистрибутиве. Может, эти дрова просто кривые?

anonymous
()

Точно! Иксы вообще ни при чём. Перезагрузил,запустил несколько копирований с одного места в другое и очень скоро залез в своп. Абсолютно такая же картина у меня на этой машине была с установленным ASP 12. Кроме как драйвер RAID, мне пока подозревать некого. :) Именно при работе с диском память утекает быстрее всего.Подскажите, как вылечить эту хрень. Отказаться от NVIDIA RAID вообще, использовать софтовый от SUSE ?

anonymous
()

Нашёл. Чистка буферов: echo 3 > /proc/sys/vm/drop_caches sync поставил в cron, работает.

anonymous
()
Ответ на: комментарий от anonymous

Простите, но это вопрос уже навязший в зубах, задававшийся многократно. Почитайте о том, как linux работает с памятью. Это никакие не утечки, а эффективная работа с памятью. Если память есть, почему она должна простаивать? Какой смысл в принудительном сбросе буферов? Погуглите на тему vm.swappiness, это будет намного разумнее, чем то, что вы делаете.

Valmont ★★★
()
Ответ на: комментарий от Valmont

Я знаю, что навязший, но я же русским языком написал, что НАЧИНАЕТ ИСПОЛЬЗОВАТЬСЯ СВОП И СИСТЕМА ТОРМОЗИТ! А о том, как линукс работает с памятью, я читал. Спасибо за ссылку на vm.swappiness.

anonymous
()
Ответ на: комментарий от Valmont

И вообще, при 3 Гб свободной памяти лезть в своп - это называется эффективное использование памяти? Как вообще можно ограничить рост кэша и сделать так, чтобы ядро повторно использовало бы уже занятое при необходимости? Сделал echo 0 > /proc/sys/vm/swappiness echo 1000 > /proc/sys/vm/vfs_cache_pressure

И всё равно, в своп лезет. Какое же тогда должно быть значение /proc/sys/vm/vfs_cache_pressure? Отключать своп совсем я не хочу. вообще непонятно, почему файловый кэш не освобождается, если я файл уже скопировал и сделал sync? Нихрена, всё остаётся на месте, кэш этот не трогается, зато своп начинает использоваться. Как это предотвратить?

anonymous
()
Ответ на: комментарий от anonymous

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

Единственная беда у Вас - это тормоза системы. Само по себе большое значение буферов не страшно, при минимальных значениях vm.swappiness и при заканчивающейся памяти система должна уда буфера, а не лезть в своп.

//Только лучше значение vm.swappiness добавить в /etc/sysctl.conf, чтоб после перезагрузок не терялось.

Valmont ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.