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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-06-22 16:12:57

  grzesmlodzian - Nowy użytkownik

grzesmlodzian
Nowy użytkownik
Zarejestrowany: 2013-06-22

Wymuszanie maksymalnego "Resident set size" dla danego procesu.

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

 

#2  2013-06-22 16:38:42

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Wymuszanie maksymalnego "Resident set size" dla danego procesu.

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

 

#3  2013-06-22 17:04:47

  grzesmlodzian - Nowy użytkownik

grzesmlodzian
Nowy użytkownik
Zarejestrowany: 2013-06-22

Re: Wymuszanie maksymalnego "Resident set size" dla danego procesu.

Nie rozumiesz - chodzi mi żeby np. aplikacja miała max 128 MB sprzętowego RAMu a resztę danych na swapie.

Offline

 

#4  2013-06-25 18:18:30

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Wymuszanie maksymalnego "Resident set size" dla danego procesu.

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

 

#5  2013-06-28 20:23:03

  grzesmlodzian - Nowy użytkownik

grzesmlodzian
Nowy użytkownik
Zarejestrowany: 2013-06-22

Re: Wymuszanie maksymalnego "Resident set size" dla danego procesu.

Hm... ciekawe... potem popatrzę i spróbuje...

Offline

 

#6  2013-06-28 21:22:00

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Wymuszanie maksymalnego "Resident set size" dla danego procesu.

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:

Kod:

/usr/bin/softlimit -m {ile bajtów} /usr/bin/{jakiś-program} -{opcje}

Ostatnio edytowany przez Jacekalex (2013-06-28 21:22:44)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.009 seconds, 12 queries executed ]

Informacje debugowania

Time (s) Query
0.00012 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00074 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='18.219.253.199' WHERE u.id=1
0.00081 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.219.253.199', 1732620288)
0.00051 SELECT * FROM punbb_online WHERE logged<1732619988
0.00072 DELETE FROM punbb_online WHERE ident='3.138.181.90'
0.00085 SELECT topic_id FROM punbb_posts WHERE id=235318
0.00005 SELECT id FROM punbb_posts WHERE topic_id=23787 ORDER BY posted
0.00060 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.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00157 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.00084 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=23787
Total query time: 0.00691 s