From mboxrd@z Thu Jan 1 00:00:00 1970 From: greg@kroah.com (Greg KH) Date: Wed, 7 Dec 2011 12:11:08 -0800 Subject: Problem with OOM killer killing process even when there is plenty of RAM. In-Reply-To: <2405529.8n9ZcyQNOo@terranet> References: <3149436.M7N0dGGi1Y@terranet> <2200561.vLDSc536eT@terranet> <20111207193536.GB23314@kroah.com> <2405529.8n9ZcyQNOo@terranet> Message-ID: <20111207201108.GA5160@kroah.com> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org On Thu, Dec 08, 2011 at 01:26:42AM +0530, mindentropy wrote: > On Wednesday 07 Dec 2011 11:35:36 AM Greg KH wrote: > > On Thu, Dec 08, 2011 at 12:36:43AM +0530, mindentropy wrote: > > > On Thursday 08 Dec 2011 1:38:19 AM Mulyadi Santosa wrote: > > > > On Wed, Dec 7, 2011 at 01:47, mindentropy wrote: > > > > > Hi, > > > > > > > > > > I am trying to allocate 512MB of RAM in my driver loaded as a > > > > > module,> > > > > > > > but the OOM killer starts killing all my processes. This machine > > > > > has > > > > > around 24GB RAM and is a 8 core Xeon. The RAM is allocated in > > > > > page size chunks (i.e. 131072 chunks each of size PAGE_SIZE). > > > > > > > > mind to tell us, how do you allocate memory? kmalloc? > > > > > > Via kmalloc. > > > > Please use the functions written to give you large memory chunks. As > > you are using a video-for-linux device, why not use the apis that this > > framework provides you for this type of thing? > > > > Yes V4L would be done next. There are some things being tried out, this being > a custom FPGA hence some controls being experimented. > > As for the allocating in PAGE_SIZE chunks why am I running out of memory? The kernel doesn't like allocating such large sizes all at once. > Can't it steal smaller chunks from the larger chunks? Just curious about the > reason. Use vmalloc if you need/want larger chunks, kmalloc is not for that at all. greg k-h