linux hoher Platten-Cache-Verbrauch

9

Auf einem meiner Server habe ich einen Speicher- / Festplatten-KV-Dienst, Speicher-KV verhalten sich wie memcached, fragen nach einem großen Speicherstamm (10GB) bei der Initialisierung, Disk Kv verhält sich wie leveldbd, sein zufälliges Lesen und sequentielles Schreiben, und liest häufig viele Dateien. Speicher wird mit libc malloc allokiert.

Mein KV-Server-Prozess verbraucht nicht viel Speicher wie unten (da ich nicht genug Speicher habe, habe ich Speicher-KV gelöscht, nur Platte KV belassen, aber freier Speicher geht immer noch runter):

%Vor%

Aber meine Erinnerung ist weg.

%Vor%

Ich kann sehen, dass die Platte viel von meinem Gedächtnis verbraucht, und es ist nicht zu reklamieren.

%Vor%

Hier ist die Platteninfo.

%Vor%

Ich verstehe nicht, was viel Speicher verbraucht, warum es das tut und wie man das löst.

Kann dies ein Intervall-Kernel-Fehler sein?

ODER es ist ein Glibc-Problem, es gibt keinen Speicher zurück an das System, weil es häufig gelesen wird?

    
user797193 11.04.2013, 02:54
quelle

1 Antwort

-1

Mit den Auszügen von oben, frei, slabtop bieten

Sieht so aus, als würde der Kernel die Erinnerung auffressen Platte: 28870400 kB

Eine sehr naive Art, das zu finden, ist.

  1. machen Sie einen Top, und machen Sie eine Summe von RES-Speicher (residenter Speicher im RAM), top gegeben nur Benutzeransicht des Speichers.

  2. machen Sie eine freie -m und sehen Sie, wie viel Speicher frei ist und benutzt (frei gegebener Kernel + Benutzer). Der Unterschied zwischen dem Gesamtspeicher - Top RES, und was im FREE-Befehl als frei ist, sollte nicht viel ~ 1 GB sein

"Es ist an der Zeit, Ihre Betriebssystemversion zu löschen"

    
KrazyGautam 30.04.2015 12:35
quelle

Tags und Links