Gå til innhold

memory leak i 2.6


Anbefalte innlegg

Har en server stående her som hele tiden bruker 99% ram selvom den bare kjører en enkel webside og jeg bruker den til backup for andre maskiner på nettverket, hørte for noen dager siden at dette kunne komme av en bug som forårsaker memory leak i kernel 2.6.x, lurer da på om det finnes en løsning på dette, helst uten å gå tilbake til 2.4.x

 

 

cat /proc/meminfo

MemTotal: 515404 kB

MemFree: 2924 kB

Lenke til kommentar
Videoannonse
Annonse

Jepp, køyr

 

free -m

 

Sjekk kor mykje som er brukt til cache.

 

Det er jo eigentleg berre tull å ha masse ledig RAM. RAMen bør utnyttast.

 

Korleis var det i 2.4 då?

 

Hm, var kanskje litt rart at den bruke SÅ mykje RAM om det kun er ein webserver utan X...

Endret av objorkum
Lenke til kommentar
free -m

            total      used      free    shared    buffers    cached

Mem:    503          500          2          0        18            447

-/+ buffers/cache:  34        468

Swap:    972            4        968

 

var ganske mye cache ja, hva gjør jeg med det...

Lenke til kommentar

ikke noe X nei,

 

ps -A

  PID TTY          TIME CMD

    1 ?        00:00:06 init

    2 ?        00:00:00 ksoftirqd/0

    3 ?        00:00:00 events/0

    4 ?        00:00:00 khelper

    5 ?        00:00:00 kacpid

  21 ?        00:01:26 kblockd/0

  36 ?        00:00:00 aio/0

  35 ?        00:02:31 kswapd0

  154 ?        00:00:00 kseriod

  155 ?        00:00:00 i2oevtd

  156 ?        00:00:50 reiserfs/0

  269 ?        00:00:00 khubd

  437 ?        00:00:00 dhclient

  526 ?        00:00:31 syslogd

  529 ?        00:00:00 klogd

  794 ?        00:00:00 hddtemp

  799 ?        00:00:00 inetd

  963 ?        00:00:10 nmbd

  965 ?        00:00:00 smbd

  977 ?        00:00:00 sshd

  983 ?        00:00:00 smbd

  987 ?        00:00:00 sensord

  993 ?        00:00:02 cron

1000 ?        00:00:08 apache

1007 tty1    00:00:00 getty

1008 tty2    00:00:00 getty

1009 tty3    00:00:00 getty

1010 tty4    00:00:00 getty

1015 tty5    00:00:00 getty

1017 tty6    00:00:00 getty

1060 ?        00:01:53 kjournald

1064 ?        00:00:24 kjournald

1066 ?        00:00:18 kjournald

1068 ?        00:00:01 kjournald

1070 ?        00:00:10 kjournald

1216 ?        00:00:00 dhclient

1275 ?        00:00:00 dhclient

1289 ?        02:34:26 smbd

10760 ?        00:01:57 smbd

19424 ?        00:01:11 pdflush

19425 ?        00:00:26 pdflush

22758 ?        00:00:01 master

24736 ?        00:00:01 apache

24737 ?        00:00:00 apache

24738 ?        00:00:00 apache

24739 ?        00:00:00 apache

24740 ?        00:00:00 apache

24782 ?        00:00:00 apache

26240 ?        00:00:01 apache

29025 ?        00:00:00 qmgr

29052 ?        00:00:00 sshd

29055 ?        00:00:02 sshd

29056 pts/0    00:00:00 bash

30132 pts/0    00:00:00 bash

30198 ?        00:00:00 apache

30199 ?        00:00:00 apache

30200 ?        00:00:00 apache

31084 ?        00:00:00 pickup

31107 ?        00:00:00 cleanup

31108 ?        00:00:00 trivial-rewrite

31109 ?        00:00:00 smtp

31110 ?        00:00:00 bounce

31111 ?        00:00:00 bounce

31114 pts/0    00:00:00 ps

Lenke til kommentar

Enkelte distribusjoner pleier å ha updatedb liggende i cron.daily.

Når updatedb så kjører så bruker den en del minne, og når den er ferdig så blir det minnet liggende i cache.

 

For et eksempel kan du se på det vedlagte bildet, en graf generert av munin av en av serverne mine.

Som du ser er det en glipp i grafen på fredag, det er fordi serveren var nede litt da.

Om du så ser på de to øverste fargene for de er relevante her, blå er ledig minne, rød er buffers.

Du ser at før rebooten var det meste av det ledige minnet erstattet med buffers, etter rebooten var bufferne tomme og det var mye ledig plass.

Fortsetter du videre langs grafen så ser du at noen timer inn på lørdagen fylles plutselig buffers, som erstatter ledig minne.

Det er nemlig fordi at hver natt klokka 03:00 kjøres cron.daily, som inneholder updatedb.

 

Edit: huffda, bildet kom ikke med på første forsøk.

post-27-1104941804_thumb.png

Endret av zyp
Lenke til kommentar

Mange klager over akkurat det der når de først prøver linux. Men som sagt: Ubrukt ram er bortkastet ram. Derfor bruker linux store deler av den ledige rammen til disk-cache.

Dette gir deg raskere tilgang til de siste brukte filene.

Man behøver ikke å være redd for å gå tom for ram, siden cachen har "lavere prioritet" enn vanlige programmer, slik at hvis det trengs mer ram så bruker den bare av cachen sin ram.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...