[linux] Re: ls -l apache0.mem 64MB, du zegt 4.0k ?

Daniel C. von Asmuth asmuth op bakunin.xs4all.nl
Zo Mrt 13 11:00:07 CET 2005


Aldus schreef J. op Sun, Mar 13, 2005 at 12:13:08AM +0100:
> On Sat, 12 Mar 2005, Daniel C. von Asmuth wrote:
> > Aldus schreef J. op Sat, Mar 12, 2005 at 10:36:03PM +0100:
> > > Ik loop net ff /tmp/ in en zie dat het volgende:
> > > ~: ls -l
> > > total 4
> > > -rw-------    1 root     root     67108864 Mar 12 13:32 session_mm_apache0.mem
> > > -rw-------    1 root     root            0 Mar 12 13:32 session_mm_apache0.sem
> > > 
> > > 64MB voor een webserver die bijna niets te doen heeft ? Ff verder kijken
> > 
> > Apache is een vrij vet programma, dus dat is niet verbazend en ik zie geen 
> > verband met de vraag of Apache bij u 1000 hits per jaar of per seconde serveert.
> 
> Ehm, om 1000 hits per seconde te verwerken zal toch extra inspanning 
> geleverd moeten worden door de software ? Of bedoel je wat anders ?

De hoeveelheid geheugen die Apache gebruikt wordt bepaald door het aantal opgestarte
servers en het aantal geladen extensies en de hoeveelheid CPU time door het aantal
hits en de hoeveelheid werk die nodig is om de request te verwerken (bijvoorbeeld
het doorploegen van database door PHP programma)

> > > met du , die zegt dat het bestand maar 4k groot is. Natuurlijk zit er
> > > verschil in geraporteerde groote's tussen du en ls -l , dat verschil
> > > begrijp ik wel, maar 64MB ?
> > 
> > Dat is in Unix niets bijzonders. Een programma maakt een file aan, doet een
> > seek en schrijft een paar bytes vlak voor de 64 MB grens. De rest blijft leeg
> > en neemt ook geen schijfruimte in.
> 
> Mischien begrijp ik gewoon niet wat je bedoelt, maar: 
> dit lijkt mij wel bijzonder .

In de LZG beginnerscursus heb je toch geleerd dat een file in Unix gaten kan 
hebben, waardoor de grootte van de file niets te maken heeft met het schijfgebruik,
dat enkel wordt bepaald door het aantal disk blokken dat de file data op schijf
inneemt?

> ~: lsof | grep apache
> apache     555   root    3u   REG        3,1 67108864      98310
> /tmp/session_mm_apache0.mem (deleted)
>  apache     555   root    4u   REG        3,1        0      98311
>  /tmp/session_mm_apache0.sem (deleted)
>  apache     555   root    5u   REG        3,1 67108864      98400
>  /tmp/session_mm_apache0.mem
>  apache     555   root    6u   REG        3,1        0      98404
>  /tmp/session_mm_apache0.sem
>  ....... etc...
> 
> Het bestand is verwijderd ? Maar staat er nog steeds.

Ook heel normaal Unix gedrag: het bestand is verwijderd uit de directory, dus
dan zul je het met 'ls' niet zien. Het bestand is nog open (maar hierboven 
staat niets over locks), dus het staat nog op de disk, totdat het bestand
wordt gesloten. 

> B.t.w.
> Mijn apache versie is Apache/1.3.26

Ik draai momenteel versie 1.3.17 en 2.0.47.


Met vriendelijke groet,



Daniel von Asmuth

-- 
		Neighbourman's embedded
		with my active ex.
		His joystick has gone floppy
		now they're not having sex.



More information about the Linux mailing list