/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Programmer og RAM
Fra : RangerDude


Dato : 17-09-02 00:33

Hej Alle,

Jeg undrede mig lige over en ting.
Når jeg f.eks. kører mozilla opdater jeg i en top at den kører 5 kopier
af sig selv - de æder hver ca. 30 ram - 150mb ram for en browser synes
jeg er lige lovligt meget.
Det samme sker når jeg kører unreal turnament 2003 - så åbner den 4
gange og hver bruger 128mb ram. Men kun en af den bruger al cpu'en,
resten får 0 cpu. Jeg har opdaget er der er mange programmer der gør sådan.

Hvordan kan det være?
Kan man gøre noget ved det? Vil helst ikke spilde alt for meget ram.

Jeg kører mandrake 9.0rc1.


 
 
Lars Henriksen (17-09-2002)
Kommentar
Fra : Lars Henriksen


Dato : 17-09-02 06:59

RangerDude wrote:
> Når jeg f.eks. kører mozilla opdater jeg i en top at den kører 5 kopier
> af sig selv - de æder hver ca. 30 ram - 150mb ram for en browser synes
> jeg er lige lovligt meget.



> Hvordan kan det være?

Det er fordi programmet (her mozilla) forker til flere forskellige
processer. Den mænge hukommelse der står de bruger er langt hen af vejen
shared memory, og derfor optræder den sammen delmænge flere gange. Der
vil dog altid være lidt. Du kan med andre ord altså ikke lægge RSS
værdierne sammen uden at modregne SHARE mængden per process.

PID PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND

2385 9 0 29424 27M 14700 S 0.0 5.5 0:04 mozilla-bin
2387 8 0 29424 27M 14700 S 0.0 5.5 0:00 mozilla-bin
2388 9 0 29424 27M 14700 S 0.0 5.5 0:00 mozilla-bin
2389 9 0 29424 27M 14700 S 0.0 5.5 0:00 mozilla-bin
2391 9 0 29424 27M 14700 S 0.0 5.5 0:00 mozilla-bin

Her ville der efter min bedste overbevisning være brugt:
5x(27M-14,7M)+14,7M = 76MB i det hele. Correct me, if wrong.

v.h
Lars


Adam Sjøgren (17-09-2002)
Kommentar
Fra : Adam Sjøgren


Dato : 17-09-02 08:55

On Tue, 17 Sep 2002 07:58:38 +0200, Lars Henriksen wrote:

>> Når jeg f.eks. kører mozilla opdater jeg i en top at den kører 5
>> kopier af sig selv - de æder hver ca. 30 ram - 150mb ram for en
>> browser synes jeg er lige lovligt meget.

> Næ

>> Hvordan kan det være?

> Det er fordi programmet (her mozilla) forker til flere forskellige
> processer.

Jeg synes jeg havde hørt at det er en bivirkning af Linux'
thread-implementation at det ser sådan ud i top og ps?


Mvh.

--
"Så har den første snøen falt Adam Sjøgren
men det er ikkje derfor det er kaldt" asjo@koldfront.dk

Lars Henriksen (17-09-2002)
Kommentar
Fra : Lars Henriksen


Dato : 17-09-02 12:29

Adam Sjøgren wrote:
> Jeg synes jeg havde hørt at det er en bivirkning af Linux'
> thread-implementation at det ser sådan ud i top og ps?

Ja. pthread's giver samme "signatur". Og ved nærmere eftertanke er det
nok nærmere dette en fork(), der er brugt i mozilla. Sorry

Lars


Michal Wodzinski (17-09-2002)
Kommentar
Fra : Michal Wodzinski


Dato : 17-09-02 08:02



RangerDude (17-09-2002)
Kommentar
Fra : RangerDude


Dato : 17-09-02 21:41

> Hvilken kerne kører du med? `uname -sr`

Linux 2.4.19-7mdk


Kent Friis (17-09-2002)
Kommentar
Fra : Kent Friis


Dato : 17-09-02 20:05

Den Mon, 16 Sep 2002 23:33:18 +0000 skrev RangerDude:
>Hej Alle,
>
>Jeg undrede mig lige over en ting.
>Når jeg f.eks. kører mozilla opdater jeg i en top at den kører 5 kopier
>af sig selv - de æder hver ca. 30 ram - 150mb ram for en browser synes
>jeg er lige lovligt meget.
>Det samme sker når jeg kører unreal turnament 2003 - så åbner den 4
>gange og hver bruger 128mb ram. Men kun en af den bruger al cpu'en,
>resten får 0 cpu. Jeg har opdaget er der er mange programmer der gør sådan.
>
>Hvordan kan det være?
>Kan man gøre noget ved det? Vil helst ikke spilde alt for meget ram.

Det er "threads", en teknik til at få et program til at lave to ting
samtidig (altså ligesom processer, men det samme program), og threads
bruger samme hukommelsesområde.

Mozilla bruger altså 30MB RAM, og UT2003 bruger 128MB RAM.

Mvh
Kent
--
"Intelligence is the ability to avoid doing work, yet get the work done"
- Linus Torvalds

RangerDude (17-09-2002)
Kommentar
Fra : RangerDude


Dato : 17-09-02 23:51

> Det er "threads", en teknik til at få et program til at lave to ting
> samtidig (altså ligesom processer, men det samme program), og threads
> bruger samme hukommelsesområde.
>
> Mozilla bruger altså 30MB RAM, og UT2003 bruger 128MB RAM.

Tak for svarene. Hvis programmerne kun bruger RAM'en én gang er der jo ikke
noget problem og så er alt godt.



Kent Friis (18-09-2002)
Kommentar
Fra : Kent Friis


Dato : 18-09-02 21:32

Den Wed, 18 Sep 2002 00:50:36 +0200 skrev RangerDude:
>> Det er "threads", en teknik til at få et program til at lave to ting
>> samtidig (altså ligesom processer, men det samme program), og threads
>> bruger samme hukommelsesområde.
>>
>> Mozilla bruger altså 30MB RAM, og UT2003 bruger 128MB RAM.
>
>Tak for svarene. Hvis programmerne kun bruger RAM'en én gang er der jo ikke
>noget problem og så er alt godt.

Mozilla gør. Jeg er ikke helt sikker på UT2003, men hvis tallene er
ens, er der en ret stor sandsynlighed for at det også gælder den.

Mvh
Kent
--
Motion: andet ord for "ondt i fødderne".

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408877
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste