Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

09.02.2013, 17:17

Speicherleck, bitte um Hilfe

Hallo Leute,

anscheinend frisst bei mir irgendwas den Speicher. Ich weis nicht was. Mir ist es ja auch nie aufgefallen. Ich schau immer mit htop, und das schaut so aus wie im Anhang. Free sagt das:

Quellcode

1
2
3
             total            used       free     shared    buffers     cached
Mem:         12012            11934      77          0        369       7968
-/+ buffers/cache:           3597       8415

Speicherpig sagt das:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
47.01 MiB: akonaditray
       47.26 MiB: gnome-terminal
       47.35 MiB: nacl_helper_boo
       48.46 MiB: goa-daemon
       50.81 MiB: akonadi_nntp_re
       51.61 MiB: brasero
       53.98 MiB: evolution-alarm
       54.26 MiB: evolution-addre
       54.33 MiB: akonadi_maildis
       57.40 MiB: scp-dbus-servic
       59.55 MiB: korgac
       62.88 MiB: gnome-settings-
       64.36 MiB: akonadi_nepomuk
       65.45 MiB: akonadi_archive
       68.05 MiB: vdr
       70.05 MiB: akonadi_mailfil
       89.66 MiB: totem-plugin-vi
      105.83 MiB: guayadeque
      116.18 MiB: akonadi_imap_re
      152.02 MiB: java
      168.73 MiB: Chrome_ProcessL
      199.18 MiB: akonadi_agent_l
      224.08 MiB: Xorg
      353.57 MiB: steam
      375.55 MiB: akonadi_googlec
      654.56 MiB: gnome-shell
        1.03 GiB: chrome

Aber da müsste doch noch was übrig bleiben. Was ist mit dem Cache? Was ist da drinnen? Wird hier der Speicher falsch verwaltet?
Das ich z.B. Serious Sam3 mit Steam spielen kann muss ich alle Programme schließen damit genug Ram da ist. Sonst schreibt er auf die Platte und das Spiel ruckelt. Das Spiel braucht aber grad mal 2GB. Da hüpf ich aber mit meinen 77free nicht weit.
»boospy« hat folgende Datei angehängt:
Gentoo Can Do!
>>>> boospy@jabber.ccc.de <<<<
Wiki auf: http://deepdoc.at

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »boospy« (05.08.2013, 01:51)


2

09.02.2013, 19:29

Ok, habs jetzt doch gefunden. Anscheinende verursacht das nfsd. Ich hab ein Verzeichnis freigegeben. Das ist ein Mountpoint für eine SATAplatte die mit einem Einschub während dem Betrieb verbunden wird. Die Platte ist mit Luks verschlüsselt, und wird mit nem Klick per Nautilus eingebunden. Auf dieser Platte werden dann sämtliche VMs und tar.gz von nem Backupserver (der hängt die Freigabe per NFS3 ein) kopiert. Nach einigen Minuten kopieren, bleiben von gerade vorher noch 8 GB Ram noch 77 über. So sieht dann "ps" aus

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
ps ax | grep nfs
  715 ?        S<     0:00 [nfsiod]
 3999 ?        S<     0:00 [nfsd4]
 4000 ?        S<     0:00 [nfsd4_callbacks]
 4001 ?        S      1:18 [nfsd]
 4002 ?        S      1:20 [nfsd]
 4003 ?        S      1:18 [nfsd]
 4004 ?        S      1:16 [nfsd]
 4005 ?        S      1:20 [nfsd]
 4006 ?        S      1:13 [nfsd]
 4007 ?        S      1:17 [nfsd]
 4008 ?        S      1:15 [nfsd]
11957 ?        S      0:00 [nfsv4.0-svc]

Muss denn irgendwas einstellen damit der nicht den ganzen Ram frisst?

lg
boospy
Gentoo Can Do!
>>>> boospy@jabber.ccc.de <<<<
Wiki auf: http://deepdoc.at

3

10.02.2013, 11:31

Der RAM wird nicht gefressen, sondern genutzt. Das ist normales Verhalten unter Linux. Wozu die Hardware ungenutzt lassen? Alle von einer Platte gelesenen Daten bleiben im RAM, damit beim zweiten Zugriff nicht erneut gelesen muss. Wenn der Speicher von einer Applikation benötigt wird, so entscheidet der Kernel ob geswappt wird oder ob ein Teil des Caches freigegeben wird. Es zählen also eher die Werte "-/+ buffers/cache": benutzt: 3597 und frei: 8415.

Versuche mal SWAP zu deaktivieren und das Spiel mit vollem Cache zu spielen. Dann kann der Kernel nicht mehr swappen.
Oder Du kannst auch den Cache verwerfen:

Quellcode

1
echo 3 > /proc/sys/vm/drop_caches
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

4

10.02.2013, 11:40

Ich hab kein Swap, hatte ich nie.
Gentoo Can Do!
>>>> boospy@jabber.ccc.de <<<<
Wiki auf: http://deepdoc.at

5

10.02.2013, 12:07

Aber was schreibt denn auf die Festplatte? Ich vermute mal das Closed-Source Steam. Anscheinend ist dort die Speicherverwaltung fehlerhaft, dass das Spiel den Cache nicht als "frei" sieht. Da bleibt wohl nur dem Steam-Hersteller einen Bugreport zukommen zu lassen und solange den Workaround mit dem drop_caches vor dem Start des Spiels zu nutzen.

PS: Dieses drop_caches ist unter anderen Betriebssystemen als "Memory Booster" bekannt. Normalerweise nicht notwendig, aber da es einige Programmierer noch nicht verstanden haben, schon.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

6

05.08.2013, 01:50

Liegt definitv am Spiel. Sonst verhält es sich normal mit dem Ram. Hab das drop_caches in den Spielstart mit eingebaut.

lg
boospy
Gentoo Can Do!
>>>> boospy@jabber.ccc.de <<<<
Wiki auf: http://deepdoc.at