2002-10-07 14:27:47

by Philipp Steinkrueger

[permalink] [raw]
Subject: Memory Problem

Hello,


i have a problem with memory management and i coulndt find a solution
doing web-research, so perhaps someone on the list can point me to a
document or give me another answer.

first, this is my system configuration:

linux kernel 2.4.19 with high-memory enabled because i put 2 GB Ram.
128 MB Swap Partition and a 250 MB Swap File.


The Problem appears with the mysql database server. here is the error
message:

Can't create a new thread (errno 11). If you are not out of available
memory, you
can consult the manual for a possible OS-dependent bug

and this is what cat /proc/meminfo shows while the system runs regulary:

MemTotal: 2069560 kB
MemFree: 24576 kB
MemShared: 0 kB
Buffers: 80808 kB
Cached: 1271288 kB
SwapCached: 1924 kB
Active: 737160 kB
Inactive: 861112 kB
HighTotal: 1179584 kB
HighFree: 2044 kB
LowTotal: 889976 kB
LowFree: 22532 kB
SwapTotal: 384476 kB
SwapFree: 379248 kB


Memfree is at 24 MB but i caught a meminfo when it was about 4 or 6 MB.

i am worried about the high "Cached" value. Could someone tell me if the
cached
content is to be considered as "reserved" and will not be used by programms
requesting
more memory ?

my general questions are:

1) how can i control the memory ? where can i tell the system how much
memory should be
used to cache stuff ? perhaps i can solve the problem this way.
2) what else does the kernel do when a programm spawns a new thread ? if
memory is
not the problem, what else could go wrong when creating a thread ?


If you need something else, like a memstat output, please let me know.


Thank you very much,
Philipp


2002-10-07 15:16:25

by Rik van Riel

[permalink] [raw]
Subject: Re: Memory Problem

On Mon, 7 Oct 2002, Philipp Steinkrueger wrote:

> The Problem appears with the mysql database server. here is the error
> message:
>
> Can't create a new thread (errno 11). If you are not out of available
> memory, you can consult the manual for a possible OS-dependent bug

> 2) what else does the kernel do when a programm spawns a new thread ? if
> memory is not the problem, what else could go wrong when creating a
> thread ?

There are two limits you could be running into:

1) you run into the per-user thread limit or the system-wide
thread limit

2) memory fragmentation, there is no area of 2 contiguous free pages

regards,

Rik
--
Bravely reimplemented by the knights who say "NIH".

http://www.surriel.com/ http://distro.conectiva.com/

Spamtraps of the month: [email protected] [email protected]

2002-10-07 15:48:12

by Dave Hansen

[permalink] [raw]
Subject: Re: Memory Problem

Rik van Riel wrote:
> On Mon, 7 Oct 2002, Philipp Steinkrueger wrote:
>
>
>>The Problem appears with the mysql database server. here is the error
>>message:
>>
>>Can't create a new thread (errno 11). If you are not out of available
>>memory, you can consult the manual for a possible OS-dependent bug
>
>
>>2) what else does the kernel do when a programm spawns a new thread ? if
>>memory is not the problem, what else could go wrong when creating a
>>thread ?
>
> 2) memory fragmentation, there is no area of 2 contiguous free pages

If you're running current 2.5, you can check /proc/buddyinfo to detect
fragmentation. If there are any non-zero numbers in columns after the
first one in ZONE_NORMAL or ZONE_DMA, you should be all right

--
Dave Hansen
[email protected]