Messages in this thread | | | Date | Mon, 28 Jul 1997 22:31:12 +0200 | From | Urs Thuermann <> | Subject | serious memory leak in 2.1.46 and 2.1.47 |
| |
Running the 2.1.46 or 2.1.47 kernel I run out of memory after 1 or 2 days of uptime with not very much activity.
The system I'm running is a
i486 DX2-66 in an ASUS SP3 with ncr-53c810 16 MB RAM + 16 MB swap 2.1 GB SCSI disk
A couple of hours ago after 1.5 days uptime with 2.1.47, I noticed the system becoming slower. Since I had a similar symptom with 2.1.46 before, shortly before I had to reset, I did a cat /proc/meminfo which showed
MemTotal: 14724 kB MemFree: 372 kB MemShared: 4588 kB Buffers: 212 kB Cached: 3244 kB SwapTotal: 16116 kB SwapFree: 10108 kB
This was with only the usual set of daemon (nothing large, not even a xntpd) and two emacs's running, each one with only one or two buffers. In any case the sum of free, shared, buf and cache seems too low. Just a few minutes later I got failed fork()s because of insufficient memory when I startet polling with uucp.
I killed the two emacs process afer which cat /proc/meminfo showed
MemTotal: 14724 kB MemFree: 2288 kB MemShared: 3600 kB Buffers: 1252 kB Cached: 4332 kB SwapTotal: 16116 kB SwapFree: 12580 kB
This is with only a few daemons and 2 bash's.
What exactly do the number in meminfo mean? Can a physical page of memory in more than one or in no one of Free, Shared, Buffers and Cached? Must be that way, otherwise these 4 would add up to total. But how can a page appear in two of those 4 items?
What is the difference between Buffer and Cached? I think Shared is the memory appearing in a process' address space, is it?
Is there a way for a page to get free, other than by a process exiting or decreasing its sbrk()? I would assume a page would never move from Cached or from Buffers to Free, but is taken away from Cached or Buffers only if it's reused in some other way, so it's still not Free. Is there some doc or intro to read about all this vm management?
urs
| |