LINUX.ORG.RU
ФорумTalks

Аплет часов и другие аплеты в gnome неоптимальны?...


0

0

Непонятно, почему, например, аплет часов в Gnome жрет 2М памяти, хотя его задача всего лишь показать текст с текущим временем и датой. То же относится и к другим простым аплетам типа погоды.

Есть у кого-нибудь готовые знания на эту тему? - почему эти аплеты такие неоптимальные?

PS код аплетов не смотрел. Хотя, возможно, это могло бы что-то прояснить.

PPS "пояндексил" на эту тему немного, ничего не нашел.


Подозреваю что они на пайтоне или другом скриптовом языке. Если сам интерпетатор и обычные библиотеки операционная система держит в одном экземпляре и просто отображает его в адресные пространства процессов, то библиотеки на самом скриптовом языке обычно каждый процесс загружает заного и жрёт память. Често не знаю как с этой проблемой у пайтона, но у перла с этим ЖОПА. В яве вроде добавили возможность держать общие классы нескольких процессов в разделяемой памяти.

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

Кстати... пайтон в гноме и правда запущен по умолчанию... может и в нем дело... Хотел я его удалить, но оказывается нельзя (ну то есть по простому нельзя, в убунте - там зависимость от ubuntu-minimal или еще какого-то другого общего системного пакета).

mrhx
() автор топика
Ответ на: комментарий от hibou

Re^2: Аплет часов и другие аплеты в gnome неоптимальны?...

> Хватит пороть чепуху! Стандартные (core) апплеты в гноме всегда были на Си.

Так это поэтому они столько памяти кушают? :)

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

Re^2: Аплет часов и другие аплеты в gnome неоптимальны?...

> Кстати... пайтон в гноме и правда запущен по умолчанию... может и в нем дело... Хотел я его удалить, но оказывается нельзя (ну то есть по простому нельзя, в убунте - там зависимость от ubuntu-minimal или еще какого-то другого общего системного пакета).

И в дебиане не удалишь: gconf зависит от питона. Так что нужно сносить гном целиком, если хочешь питон выкорчевать. А заодно и опенофис :)

gaa ★★
()

>хотя его задача всего лишь показать текст с текущим временем и датой.

А что он умеет ещё показ временных зон, календаря + evolution data server, погоды и временных зон вы не увидели, или не осилили? Не говоря уж о том, что вести при расходе памяти в 2mb разговор о "жрёт" в наше время... это так толсто, что аж монитор потрескивает.

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

>> Хватит пороть чепуху! Стандартные (core) апплеты в гноме всегда были на Си.

Я не порю чепуху, я сразу написал, что "подозреваю". А это означает что я как минимум в этом не уверен.

P.S. Ничего не имею против gnome и его пользователей.

Deleted
()

2М -- это много? 2Г ДДР2 стоят меньше 600рублей в замкадье.

А вот это нормально?

1000 3329 0.0 0.9 49500 18812 ? Sl 14:03 0:09 gnome-settings-daemon

1000 3358 0.0 1.3 83116 27308 ? Sl 14:03 0:15 gnome-panel --sm-client-id default1

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

>В яве вроде добавили возможность держать общие классы нескольких процессов в разделяемой памяти.
скоро найдут парочку уязвимостей?

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

А gnome-keyboard-applet что умеет? Ни много ни мало 14 метров резидентной жрёт. Дело не том что жалко, а интересно куда она уходит.

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

>> "Апплет" ё моё! Слов на вас, тролей, не хватает!

Да притормози уже! Тролли в тему ещё не подошли. Щас вон в дверной проём протиснутся и начнётся =).

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

Хм... Я вот посмотрел, clock-applet в /usr/libexec весит всего 88К на самом деле. Зачем же ему стока памяти...

На самом деле мое мнение просто в том, что потребности приложения должны соответствовать его функциональности :) Да-да, память щас дешевая. Ну и что. Это не повод перестать думать :)

Кстати, у меня простой аплет часов (гном на работе не последний). Аплет версии 2.16.1 - там только время и дата, даже погоду не показывает.

mrhx
() автор топика
Ответ на: комментарий от barmaleus

>А gnome-keyboard-applet что умеет?

Переключать раскладку, что весьма логично выводится из его названия.

>Ни много [...] 14 метров резидентной жрёт.

Я тут ненужное за вас вычеркнул :)

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

>На самом деле мое мнение просто в том, что потребности приложения должны соответствовать его функциональности :)

twm к вашим услугам. Попользуйтесь пару деньков, потом приходите и поговорим об удобстве и функциональности снова :)

>(гном на работе не последний). Аплет версии 2.16.1

Это очень мягко сказано. Я бы сказал, что гном на работе допотопный :) Хорошо хоть, что не 2.0 :)

ptarh ★★★★★
()

Кстати, мне всегда было интересно, да все забываю спросить. Сколько жрет макось, в среднем? (маководы ведь знают что такое RAM?:)) Т.е., что я имею ввиду, запущены обычные десктопные приложения: яббер-клиент, браузер, торрент-клиент и т.п., без средств разработки и тяжелых, нетипичных приложений.

ps по-моему, у кого-то через-чур узкие двери.

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

>>В яве вроде добавили возможность держать общие классы нескольких процессов в разделяемой памяти.

>скоро найдут парочку уязвимостей?

Врядли т.к в общем-то эта идея реализуется в яве совершенно органично и некостыльно - создавать для каждого нового ява-приложения отдельный корневой класслоадер в JVM. Программа "java" в таком раскладе просто коннектится через RPC к общей JVM и передает параметры и classpath. При этом приложения будут совершенно пинцетно друг от друга заизолированы. Правда, ява станет действительно второй осью.

Absurd ★★★
()

гм, чего жаловаться, это ж гном.

stave ★★★★★
()

А у меня gegls from outer space летают :)

AP ★★★★★
()

Подозреваю, что это из-за двойной буферизации. Картинка в памяти нехило так жрёт.

anonymous
()

Хотел поизучать код аплета, а там такое:

[--- clock]$ pwd
/home/---/gnome-panel-2.24.1/applets/clock
[--- clock]$ cat *.c *.h | wc -l
15671

хо-хо. 15K строк кода... эх (

mrhx
() автор топика

Если мне не изменяет память, то стандартный стек у программы 1 Mb уже.
А вообще какая разница при таких величинах сколько он там памяти жрёт? Если бы 20, то понятное дело, можно было бы поинтересоваться. Все-таки это GUI приложение, да еще и под тяжеловесный DE.

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

>Сколько жрет макось, в среднем?

Субьективно, макось оперативки жрет много.. гигабайта еле-еле хвает на "яббер-клиент, браузер, торрент-клиент и т.п."

Если запустить еще NetBeans или что-ниубь жабское, то начинаются тормоза.

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

> Субьективно, макось оперативки жрет много.. гигабайта еле-еле хвает на "яббер-клиент, браузер, торрент-клиент и т.п."

Хм. В принципе у меня такой гном жрет около 650, в среднем.

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

>> Субьективно, макось оперативки жрет много.. гигабайта еле-еле хвает на "яббер-клиент, браузер, торрент-клиент и т.п."

>Хм. В принципе у меня такой гном жрет около 650, в среднем.

Ну макось и весь гигабайт зохавать может и не подарится..

Но заметил такую фичу, что при работе от батарейки потребление памяти резко снижается. В линуксе тоже так? (просто не знаю..)

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

> Кстати, мне всегда было интересно, да все забываю спросить. Сколько жрет макось, в среднем? (маководы ведь знают что такое RAM?:))

из 4GB на буке верхние два у меня практически не используются - редко когда за гиг памяти используется. Ессно, если не обрабатывать графику etc :)

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

> Хм. В принципе у меня такой гном жрет около 650, в среднем.

Это сам гном такой толстый, или приложения, у которых память течет? Я вот недавно выкинул lifrea за то что он больше двухсот метров съедал и на openbox использование памяти доходило до 400-500 метров. Сейчас даже до 300 не доходит. Правда pidgin, который также течет, сейчас не запущен (+60 сразу при старте).

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

tim@tim-laptop:~$ free
             total       used       free     shared    buffers     cached
Mem:       1033444     681752     351692          0      19892     352548
-/+ buffers/cache:     309312     724132
Swap:      1004052          0    1004052

Вот аппетиты моей системы. Gnome, FireFox, Pidgin. Ну еще и GnomeTerminal можно посчитать... 

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

огнелис, делюг, пиджин, линуксдц++, ритмбокс - итого 430 метров

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

Вообще говоря, это не оправдание. Уверен, бОльшая часть пользователей не используют этот функционал, и зачем память отжирать - мне лично не понятно.

Другое дело, что, скорее всего, память он не отжирает, а топикстартер что-нибудь неправильно замеряет.

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

             total       used       free     shared    buffers     cached
Mem:       2570656    1747016     823640          0     110776     991016
-/+ buffers/cache:     645224    1925432
Swap:      1020116          0    1020116

Rhythmbox, transmission, pidgin, firefox

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

>14 метров на показать три букаффки? Ну я не знааааю. По мне так это полный ппц

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

ptarh ★★★★★
()

В мире вообще много чего неоптимального ...

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

>Вообще говоря, это не оправдание. Уверен, бОльшая часть пользователей не используют этот функционал, и зачем память отжирать - мне лично не понятно.

Не нравится --- можно собрать без этой фичи, специальный флаг у ./configure на этот счёт есть.

dn2010 ★★★★★
()

> Непонятно, почему, например, аплет часов в Gnome жрет 2М памяти

Про shared либы в курсе? Про copy-on-write после форка в курсе? А теперь подумай, как ты будешь показывать пользователю, сколько занимает то или иное приложение? Не считать shared память нельзя, иначе как объяснить что приложения весят по килобайту, а память кончилась. Поэтому только считать shared страницы для всех приложений. Поэтому из этих 2Mb своих у апплета может быть несколько десятков Kb.

Простой пример:

main() {
char *c = (char*)malloc(1024*1024*16);
bzero(c, 1024*1024*16);

fork(); fork(); sleep(10);
}

a.out & ps aux | grep a.out

1000 8312 0.0 1.6 19116 17068 pts/16 SN 23:09 0:00 ./a.out
1000 8314 0.0 1.6 19116 16592 pts/16 SN 23:09 0:00 ./a.out
1000 8315 0.0 1.6 19116 16592 pts/16 SN 23:09 0:00 ./a.out
1000 8316 0.0 1.6 19116 16592 pts/16 SN 23:09 0:00 ./a.out

Реально памяти занято 16Mb на всех.

anonymous
()

Ну ладно... действительно, раз там суммарная память по либам всем и т.п., то может и не страшно - либы же общие, по идее.

mrhx
() автор топика

В часах ещё погода, планер, календарь и прочая мишура торчит.

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

Как-то Вы неправильно память считаете. У меня - 5.5М. А вообще там XML;)

Да, в маппинге памяти больше всего заметен icon-theme.cache

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

> 14 метров на показать три букаффки? Ну я не знааааю. По мне так это полный ппц.

Тысячи людей покупают ms office чтобы большими буквами напечатать "не ссать мимо унитаза", а тут 14 метров зажал. Стыдно, товарищи

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

> Тысячи людей покупают ms office

Стадный инстинкт + отсутствие информации об аналогах :)

mrhx
() автор топика

А вообще я только что JWM поставил на работе. Пока доволен... памяти жрет мало. Жаль только погоду не показывает :( Хотя это можно было бы сделать, если бы была сторонняя прога для показа погоды, тогда ее можно в трей запихать. Ну плюс на настройку больше время, чем в гноме, ну а так я пока доволен в общем... Надоест - вернусь опять в гном )))

mrhx
() автор топика
Ответ на: комментарий от ptarh

>А что он умеет ещё показ временных зон, календаря + evolution data server, погоды и временных зон
>А gnome-keyboard-applet что умеет? Ни много ни мало 14 метров резидентной жрёт.


И эти люди ругают кеды за комбайновость и монстрообразность? =)

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

> И эти люди ругают кеды за комбайновость и монстрообразность? =)

В кедах по другому? ( я просто давно ими не пользовался, а когда пользовался замеров не делал )

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