LINUX.ORG.RU

Посоветуйте хорошую убираловку памяти.


0

0

В Окнах была такая хорошая софтинка-Ram Idle. Когда оперативной памяти было мало, ее запуск позволял очистить память от ненужных библиотек. Есть ли такая прога в никсах ? (желательно с несложным интерфейсом)

anonymous

В Лине не бывает "ненужных библиотек". Если нужна память, то всё, что не используется, из неё выгружается. Не пытайся быть умнее ядра. Плохо кончится.

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

Бывают. Иначе как объяснить то, что при непрерывной работе компьютера в течение недели занято более половины файла подкачки (полгига) и примерно 40 % оперативки (тот же объем), а все проги (кроме иксов и WM) закрыты? (иногда несколько часов назад) Помогает только перегрузка иксов.

anonymous
()

> ее запуск позволял очистить память от ненужных библиотек.
Бугага! Она всего лишь хапала кучу памяти, скидывая все что можно в своп. Все что было нужно тут же поднималось из свопа обратно, ненужное оставалось там ))
Мона и под линь написать такое )))

#include <stdlib.h>
int main(){
int* p = malloc(очень_большое_число*sizeof(int));
for (int i=0;i<очень_большое_число;i++)
p[i]=1;
free(p);
};

и все! ))

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

electricfence, если я правильно помню название. Поищи по гуглу e-fence, electric fence...

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

Версию иксов и WM/DE в студию.

Как сказал snigga, не пытайтесь сравнивать расход памяти windows и linux - это как складывать столы и стулья.

У меня:
total   used   free   shared buffers cached
1035784 779960 255824 0      156336  336460

Это - нормально.
DE не пользуюсь, только лёгкий WM.

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

$ cat /proc/meminfo 
MemTotal:       775792 kB
MemFree:         64836 kB---v
Buffers:         62036 kB--->+=522Mb - свободно
Cached:         408280 kB---^
SwapCached:          0 kB
Active:         457556 kB
Inactive:       208728 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       775792 kB
LowFree:         64836 kB
SwapTotal:     1164672 kB
SwapFree:      1164672 kB
....

Посчитайте у себя - если также болшинство "занятого" места
это кэши и буферы это нормально.

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

Иксы XFree 2.4.23 Gnome 2.4.0

В meminfo такая инфа: total: used: free: shared: buffers: cached: Mem: 528265216 520220672 8044544 0 9449472 208572416 Swap: 551051264 72192000 478859264 MemTotal: 515884 kB MemFree: 7856 kB MemShared: 0 kB Buffers: 9228 kB Cached: 193796 kB SwapCached: 9888 kB Active: 276648 kB Inactive: 204172 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 515884 kB LowFree: 7856 kB SwapTotal: 538136 kB SwapFree: 467636 kB

это после 30 часов работы компа. Сейчас открыты только наутилус (2 окна) и 9 окон галеона. Раньше запускал много разных прог, но сейчас они закрыты. Память не освободилась. занято 11 % свопа и 100 % оперативки (около 60 % под проги). Вот это ненормально. И это при том, что непосредственно после перезагрузки иксов и загрузке аналогичных приложений (наутилус и галеон) памяти берется занчительно меньше. Отсюда вывод-ненужные библиотеки не убираются, утечка памяти остается.

Кстати, чем отличается кеш от буфера?

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

7856+9228+193796 Kb=206 Мб из 512 свободно (206 занято)
У меня 522 Мб из 768 Мб свободны (246 занято), так что всё в порядке!
Куда остальные 210 Мб деваются можете уже помучать "ps -eF"

Кеш освободиться как только этого потребует какое-либо приложение - можете быть уверены.

А насчёт того чем отличаеться кэш от буферов это конечно вопрос сложный. Ответ надо искать в файле:
/usr/src/linux/Documentation/filesystems/proc.txt

Buffers: Relatively temporary storage for raw disk blocks
shouldn't get tremendously large (20MB or so)
Cached: in-memory cache for files read from the disk (the
pagecache). Doesn't include SwapCached


Похоже, что кэш -- исключительно для считанных данных с диска (причём возможно и давно считанных),
а буфер формируется и для временного хранения данных при чтении (перед передачей приложению?) и для сохранения данных (полученных от приложения) перед записью на диск.

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

206 занято только после 30 часов. Через неделю, если пускать много других приложений (а затем их закрывать), будет занята почти вся оператива и полсвопа. Проги начнут тормозить (видимо, часть их библиотек в свопе), а запускать новые будет все труднее и труднее. Для примера: после заргузки операционки и запуска иксов занято только 120 мегов. Через неделю при девственно чистом десткопе вся оператива и полсвопа. Соответственно, ненужные библиотеки ядро не выгружает. ps (точнее, ее аналог - System monitor KDE или Gnome) , кстати, выдает, что оч. много памяти (более 500 мегов) жрут иксы.

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

> кстати, выдает, что оч. много памяти (более 500 мегов) жрут иксы.
Ну значит дело в иксах -- а какая у вас версия? Может стоит написать bugreport?

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

Ммм... Какая-какая версия XFree? Да, и какой дистрибутив, какое ядро?

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

Кстати, ведь действительно ли это X-сы легко поддаётся проверке - стоит только их перезапустить. Вы пробовали?

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

Я же уже писал. Иксы XFree 2.4.23, ядро 2.4.21 , дистрибутив Mandrake 9.2. Перезапуск иксов полностью освобождает память. Но нельзя же все время перезапускать иксы? Нужна простая прога - освобождаловка памяти, которую можно встроить в cron (или в панель гнома). Ту, что здесь предложили, пока не нашел-ссылки мертвые.

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

> Иксы XFree 2.4.23

это как? может все таки 4.2 или 4.3?

> Перезапуск иксов полностью освобождает память.

вот ты сам и ответил на свой вопрос

виной всему кривая сборка иксов в мандрейке

JB ★★★★★
()

2unDEFER

а зачем при оперативке в 768 Мб делать своп на 1Гб ? я не думаю что ты одновременно запускаешь кучу пожирающих память прог?

в доках при установке любого нормального дистра (slackware/gentoo/redhat/mb other) сказано что своп надо брать в 0.5-2 раза больше ОЗУ,причем при 256 Мб коэффициент равен 1.

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

Если это утечка памяти то никакая чистилка тут не поможет. А кстати с очень большой вероятностью поможет установка обновлений для этого дистрибутива.

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

>>Если это утечка памяти то никакая чистилка тут не поможет

Чистилки как раз и ловят утечки памяти. Так, во всяком случае, в винде.

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

> а зачем при оперативке в 768 Мб делать своп на 1Гб ? я не думаю что ты
> одновременно запускаешь кучу пожирающих память прог?

Я их сам пишу, такие проги :-)))
В настоящее время ImaTEd на больших картинках легко сжирает все 700 Мб оперативки, затем хавает Гиг свопа и умирает смертью храбрых :-D

Разумеется над этим будет проведена работа (проблема уже частично устранена, но ещё не до конца) -- память там вообще не освобождалась ранее (так как попытки освобождения приводили к Seg.fault'у).

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

> Чистилки как раз и ловят утечки памяти. Так, во всяком случае, в винде.
Бред!

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

> память там вообще не освобождалась ранее (так как попытки освобождения приводили к Seg.fault'у).

Вот из-за такого программирования и пухнут Иксы и другие программы. Видимо, освобождаешь уже освобождённое или вовсе не выделенное. Так?

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

> Видимо, освобождаешь уже освобождённое или вовсе не выделенное. Так?

Либо записал когда-то что-то в невыделенную память.

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