🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #10158

Re: Musze pomagac synowi

#10158
From: j_marek
Date: Wed, 23 Nov 2005 23:05
69 lines
4073 bytes
W wiadomości: dltm39$2mc$1@atlantis.news.tpi.pl,
Tomasz Muszyński <thom_ek@op.pl_nospam> napisał(a):
[...]
>> Około 20 MB :)
>> A "winny" GC i heap + kilka założeń o GC :) (które sprawiają że .NET
>> działa zdecydowanie szybciej niż np. servery Javowe)
>
> No to ja wiem... ale trochę to głupie jak program praktycznie nic nie
> robi a zajmuje mi tyle ramu.
> A własnie mam z tym bardzo konkretny problem: na serwerku odpalam do
> 120 aplikacji, które wywołują mi COMa napisanego w .Net zajmującego
> po 20mb. Jak nietrudno policzyć pamięć szybko zanika, swap zaczyna
> szaleć, a zajętość procka sięga do 100%... Teraz programik przepisuję
> na zwykłe C :( RAMu w serwerku mam 1,8GB a procki 2*P4-1,2GHz. Gdyby
[...]

Witam!

Nie wszystkie języki są optymalnym rozwiązaniem do pisania programów, które
praktycznie nic nie robią ;-)

Natomiast czytałem opinie, że .NET właśnie bardzo dobrze się nadaje na 
aplikacje serwerowe. GC nie powoduje fragmentacji pamięci w długo 
działających procesach, JIT nie ma znaczenie. Być może po prostu Twoja 
aplikacja ma jakieś problem z zarządzaniem pamięcią. GS nie załatwia 
wszystkie automatycznie.

Z ciekawości zrobiłem mały test. Zbudowałem trzy aplikacje typu Hello world 
w:
- C#
- C++ CRL.
- C++ Win32

Wielkości plików .exe były odpowiednio:
- 16 KB
- 33 KB
- 8 KB

Po odpaleniu aplikacji i trzymaniu ich *nie* zminimalizowanych (ale wcześnie 
były minimalizowanie) Task Manager w kolumnie użycie pamięci wykazał:
- 336 KB
- 334 KB
- 48 KB

A bardziej miarodajne wyniki przedstawiają Process Explorer w polu Private
Bytes:
- 7 116 KB
- 7 608 KB
- 340 KB

Zbadałem także jak wygląda sprawa w przypadku w przypadku potraktowania 
projektu C# ngen-em. Przy tej wielości nie zauważyłem różnicy. Plik w GAC 
miał rozmiar 15 KB. Czyli wygląda, że ta dodatkowo przestrzeń nie jest 
zajmowana przez JIT-a na potrzeby generowania kodu maszynowego, tylko przez 
GC jak sugerowano w poprzednich postach.

Zatem wybór należy do Ciebie. Z GC czy bez :-) Nie jest to 20 MB lub 200 MB, 
tylko 7 MB. A Task Manager twierdzi, że mniej. Może podaje użycie fizycznego 
RAM-u, nie przestrzeń adresową. Tego dokładnie nie wiem.

Jeśli to jest problem to być może powienneś zdecydować się umieszczenie kodu 
w jednym procesie zamiast odpalać ich tak wiele. A każdy z osobną zarządzaną 
stertą, narzutem związanym z odpaleniem procesu.

-- 
Pozdrawiam,
Marek Janaszewski
[ j_marek(małpa)gazeta(kropka)pl ]
[ == USUN_TO. z adresu == ] 
Technical Details
Message-ID: <dm4l9d$203t$1@news2.ipartners.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.ipartners.pl!ipartners.pl!not-for-mail
References: <dlkac9$5rb$1@atlantis.news.tpi.pl> <dlkfmt$9u9$1@news.onet.pl> <dlknmf$94e$1@nemesis.news.tpi.pl> <437DE6E3.6030005@wp.pl> <437DEAD1.9060606@wp.pl> <dlkqh9$j67$1@nemesis.news.tpi.pl> <dlkqrj$jmk$1@news.onet.pl> <dll40m$bl8$1@achot.icm.edu.pl> <1bq8723rqvn34.dlg@fdsvzxcc.rtb.com> <dlpid2$et0$1@nemesis.news.tpi.pl> <dlqbuf$4ct$1@inews.gazeta.pl> <dlqp6l$18cp$1@node1.news.atman.pl> <dlr4cb$6c5$1@nemesis.news.tpi.pl> <1ta5r9jk5ptit.dlg@fdsvzxcc.rtb.com> <dltm39$2mc$1@atlantis.news.tpi.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.ipartners.pl!ipartners.pl!not-for-mail
From: "j_marek" <j_marek@USUN_TO.gazeta.pl>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Re: Musze pomagac synowi
Date: Thu, 24 Nov 2005 00:05:45 +0100
Organization: Internet Partners
Lines: 70
Message-ID: <dm4l9d$203t$1@news2.ipartners.pl>
References: <dlkac9$5rb$1@atlantis.news.tpi.pl> <dlkfmt$9u9$1@news.onet.pl> <dlknmf$94e$1@nemesis.news.tpi.pl> <437DE6E3.6030005@wp.pl> <437DEAD1.9060606@wp.pl> <dlkqh9$j67$1@nemesis.news.tpi.pl> <dlkqrj$jmk$1@news.onet.pl> <dll40m$bl8$1@achot.icm.edu.pl> <1bq8723rqvn34.dlg@fdsvzxcc.rtb.com> <dlpid2$et0$1@nemesis.news.tpi.pl> <dlqbuf$4ct$1@inews.gazeta.pl> <dlqp6l$18cp$1@node1.news.atman.pl> <dlr4cb$6c5$1@nemesis.news.tpi.pl> <1ta5r9jk5ptit.dlg@fdsvzxcc.rtb.com> <dltm39$2mc$1@atlantis.news.tpi.pl>
NNTP-Posting-Host: 217.153.157.130
Mime-Version: 1.0
X-Trace: news2.ipartners.pl 1132845165 65661 217.153.157.130 (24 Nov 2005 15:12:45 GMT)
X-Complaints-To: abuse@ipartners.pl
NNTP-Posting-Date: 24 Nov 2005 15:12:45 GMT
X-Priority: 3
X-Antivirus: avast! (VPS 0547-4, 2005-11-24), Outbound message
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
X-MSMail-Priority: Normal
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit