Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witajcie,
Chciałbym odpalić taką jedną aplikację ograniczając jej maksymalną ilość fizycznego ramu (najlepiej sposobem podobnym do nice). Wydaje mi się to konieczne gdyż jeżeli tego nie robię to ta aplikacja się rozpycha i dane innych aplikacji będą przenoszone do swapu. Zaś chcę żeby te inne aplikacje były w trybie pełnej gotowości i są one dla mnie najważniejsze.
Bardzo proszę o pomoc.
Grzesiek
Offline
Ja kiedyś próbowałem ograniczyć ilość ramu dla opery ale skutki były bardzo niemiłe i dałem sobie z tym spokój bo to nie miało sensu, bo musisz wziąć pod uwagę, że skoro aplikacja ładuje dane do pamięci, to ich potrzebuje, a jeśli teraz jej zabronisz tego to co ona zrobi? Na przecieki chyba się nic nie poradzi, to wina programu i tylko developerzy danej aplikacji mogą coś z tym zrobić. Choć jeśli ktoś wie jak temu zaradzić, to mi się też przyda. xD
Offline
Nie rozumiesz - chodzi mi żeby np. aplikacja miała max 128 MB sprzętowego RAMu a resztę danych na swapie.
Offline
Zainteresowałem się tematem i chyba sobie coś takiego zrobię — https://wiki.archlinux.org/index.php/Cgroups , tam jest między innymi to co chcesz:
$ echo 10000000 > /sys/fs/cgroup/memory/groupname/foo/memory.limit_in_bytes
Note that the memory limit applies to RAM use only — once tasks hit this limit, they will begin to swap.[/quote]
Offline
Hm... ciekawe... potem popatrzę i spróbuje...
Offline
Cgroup jest fajny, ale z konfiguracją jest trochę zabawy.
Jak chcesz odpalić proces z limitem ramu z wiersza poleceń, bez czarnej magii, to zainteresuj się programem softlimit z pakietu daemontools.
Użycie:
/usr/bin/softlimit -m {ile bajtów} /usr/bin/{jakiś-program} -{opcje}
Ostatnio edytowany przez Jacekalex (2013-06-28 21:22:44)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00089 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.144.29.213' WHERE u.id=1 |
0.00060 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.144.29.213', 1732915714) |
0.00042 | SELECT * FROM punbb_online WHERE logged<1732915414 |
0.00055 | SELECT topic_id FROM punbb_posts WHERE id=235530 |
0.00093 | SELECT id FROM punbb_posts WHERE topic_id=23787 ORDER BY posted |
0.00057 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=23787 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00096 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=23787 ORDER BY p.id LIMIT 0,25 |
0.00069 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=23787 |
Total query time: 0.00582 s |