public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: Memory Management
  2005-07-20 13:24 ` Arjan van de Ven
@ 2005-07-20 14:23   ` Márcio Oliveira
  2005-07-20 14:37     ` Arjan van de Ven
  0 siblings, 1 reply; 18+ messages in thread
From: Márcio Oliveira @ 2005-07-20 14:23 UTC (permalink / raw)
  To: arjanv; +Cc: linux-kernel

Arjan van de Ven wrote:

>I'm sure RH support will be able to help you with that; I doubt many
>other people care about an ancient kernel like that, and a vendor one to
>boot.
>
>(Also I assume you are using the -hugemem kernel as the documentation
>recommends you to do)
>
>  
>
Arjan,

   I'd like to know/understand more about memory management  on  Linux 
Kernel and I belive this concept is applyable to the Red Hat Linux Kernel.

  I have some doubts about the ZONE divison (DMA, NORMAL, HIGHMEM), 
Shared Memory utilization, HugeTLB feature and OOM with large memory and 
the kernel management of memory on SMP machines. I believe these 
features are common to the Linux kernel in general(Red Hat, Debian, 
SuSe, kernel.org), right?
   I read a tons of docs regarding symposiums, The Linux Memory 
Management Book and lots of docs about Oracle memory management but 
memory management still not clear to me.

  If somebody can help me...

Thanks.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-20 14:23   ` Memory Management Márcio Oliveira
@ 2005-07-20 14:37     ` Arjan van de Ven
  0 siblings, 0 replies; 18+ messages in thread
From: Arjan van de Ven @ 2005-07-20 14:37 UTC (permalink / raw)
  To: Márcio Oliveira; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1239 bytes --]

On Wed, 2005-07-20 at 11:23 -0300, Márcio Oliveira wrote:
> Arjan van de Ven wrote:
> 
> >I'm sure RH support will be able to help you with that; I doubt many
> >other people care about an ancient kernel like that, and a vendor one to
> >boot.
> >
> >(Also I assume you are using the -hugemem kernel as the documentation
> >recommends you to do)
> >
> >  
> >
> Arjan,
> 
>    I'd like to know/understand more about memory management  on  Linux 
> Kernel and I belive this concept is applyable to the Red Hat Linux Kernel.

Only on the highest of levels. The RHEL3 kernel has a VM that resembles
almost no other linux kernel in many many ways. 


>   I have some doubts about the ZONE divison (DMA, NORMAL, HIGHMEM), 
> Shared Memory utilization, HugeTLB feature and OOM with large memory and 
> the kernel management of memory on SMP machines. I believe these 
> features are common to the Linux kernel in general(Red Hat, Debian, 
> SuSe, kernel.org), right?

nope. These things are very much different between the kernels you
mention.

What do you want to use the knowledge for? Fixing the VM? Tuning your
server? The goal of your question determines what kind of answer you
want to your questions....

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
@ 2005-07-21 12:34 Márcio Oliveira
  2005-07-21 13:11 ` Neil Horman
  0 siblings, 1 reply; 18+ messages in thread
From: Márcio Oliveira @ 2005-07-21 12:34 UTC (permalink / raw)
  To: arjanv; +Cc: linux-kernel

Arjan van de Ven wrote:

>On Wed, 2005-07-20 at 11:23 -0300, Márcio Oliveira wrote:
>  
>
>>Arjan van de Ven wrote:
>>
>>    
>>
>>>I'm sure RH support will be able to help you with that; I doubt many
>>>other people care about an ancient kernel like that, and a vendor one to
>>>boot.
>>>
>>>(Also I assume you are using the -hugemem kernel as the documentation
>>>recommends you to do)
>>>
>>> 
>>>
>>>      
>>>
>>Arjan,
>>
>>   I'd like to know/understand more about memory management  on  Linux 
>>Kernel and I belive this concept is applyable to the Red Hat Linux Kernel.
>>    
>>
>
>Only on the highest of levels. The RHEL3 kernel has a VM that resembles
>almost no other linux kernel in many many ways. 
>
>
>  
>
>>  I have some doubts about the ZONE divison (DMA, NORMAL, HIGHMEM), 
>>Shared Memory utilization, HugeTLB feature and OOM with large memory and 
>>the kernel management of memory on SMP machines. I believe these 
>>features are common to the Linux kernel in general(Red Hat, Debian, 
>>SuSe, kernel.org), right?
>>    
>>
>
>nope. These things are very much different between the kernels you
>mention.
>
>What do you want to use the knowledge for? Fixing the VM? Tuning your
>server? The goal of your question determines what kind of answer you
>want to your questions....
>  
>
It's about tunning the VM parameters...

That's my first question on list:

"Is HugeTBL proc memory parameters only to hugetlbfs "filesystem" or are 
these parameters affect ramfs, shm and tmpfs too?

What is the basic difference between ramfs, hugetlbfs, shm and tmpfs to 
the memory management / process VLM utilization?

thanks,

Márcio."

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-21 12:34 Memory Management Márcio Oliveira
@ 2005-07-21 13:11 ` Neil Horman
  2005-07-21 13:40   ` Márcio Oliveira
  0 siblings, 1 reply; 18+ messages in thread
From: Neil Horman @ 2005-07-21 13:11 UTC (permalink / raw)
  To: Márcio Oliveira; +Cc: arjanv, linux-kernel

On Thu, Jul 21, 2005 at 09:34:14AM -0300, Márcio Oliveira wrote:
> Arjan van de Ven wrote:
> 
> >On Wed, 2005-07-20 at 11:23 -0300, Márcio Oliveira wrote:
> > 
> >
> >>Arjan van de Ven wrote:
> >>
> >>   
> >>
> >>>I'm sure RH support will be able to help you with that; I doubt many
> >>>other people care about an ancient kernel like that, and a vendor one to
> >>>boot.
> >>>
> >>>(Also I assume you are using the -hugemem kernel as the documentation
> >>>recommends you to do)
> >>>
> >>>
> >>>
> >>>     
> >>>
> >>Arjan,
> >>
> >>  I'd like to know/understand more about memory management  on  Linux 
> >>Kernel and I belive this concept is applyable to the Red Hat Linux Kernel.
> >>   
> >>
> >
> >Only on the highest of levels. The RHEL3 kernel has a VM that resembles
> >almost no other linux kernel in many many ways. 
> >
> >
> > 
> >
> >> I have some doubts about the ZONE divison (DMA, NORMAL, HIGHMEM), 
> >>Shared Memory utilization, HugeTLB feature and OOM with large memory and 
> >>the kernel management of memory on SMP machines. I believe these 
> >>features are common to the Linux kernel in general(Red Hat, Debian, 
> >>SuSe, kernel.org), right?
> >>   
> >>
> >
> >nope. These things are very much different between the kernels you
> >mention.
> >
> >What do you want to use the knowledge for? Fixing the VM? Tuning your
> >server? The goal of your question determines what kind of answer you
> >want to your questions....
> > 
> >
> It's about tunning the VM parameters...
> 
> That's my first question on list:
> 
> "Is HugeTBL proc memory parameters only to hugetlbfs "filesystem" or are 
> these parameters affect ramfs, shm and tmpfs too?
> 
> What is the basic difference between ramfs, hugetlbfs, shm and tmpfs to 
> the memory management / process VLM utilization?
> 
> thanks,
> 
http://people.redhat.com/nhorman/papers/rhel3_vm.pdf
I wrote this with norm awhile back.  It may help you out.
Regards
Neil

> Márcio."
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

-- 
/***************************************************
 *Neil Horman
 *Software Engineer
 *Red Hat, Inc.
 *nhorman@redhat.com
 *gpg keyid: 1024D / 0x92A74FA1
 *http://pgp.mit.edu
 ***************************************************/

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-21 13:11 ` Neil Horman
@ 2005-07-21 13:40   ` Márcio Oliveira
  2005-07-22 14:02     ` Neil Horman
  0 siblings, 1 reply; 18+ messages in thread
From: Márcio Oliveira @ 2005-07-21 13:40 UTC (permalink / raw)
  To: Neil Horman; +Cc: arjanv, linux-kernel


>http://people.redhat.com/nhorman/papers/rhel3_vm.pdf
>I wrote this with norm awhile back.  It may help you out.
>Regards
>Neil
>  
>
Neil,

   Thanks.~10-12GB of total RAM (16GB) are

   How can Proc virtual memory parameters like inactive_clean_percent, 
overcommit_memory, overcommit_ratio and page_cache help me to solve / 
reduce Out Of Memory conditions on servers with 16GB RAM and lots of GB 
swap?

   Kernel does not free cached memory (~10-12GB of total RAM - 16GB). Is 
there some way to force the kernel to free cached memory?

/proc/meminfo:

              total:    used:    free:  shared: buffers:  cached:
Mem:    16603488256 16523333632 80154624        0 70651904 13194563584
Swap:   17174257664 11771904 17162485760
MemTotal:     16214344 kB
MemFree:         78276 kB
Buffers:         68996 kB
Cached:       12874808 kB

Thanks to all.

Marcio.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-21 13:40   ` Márcio Oliveira
@ 2005-07-22 14:02     ` Neil Horman
  2005-07-22 14:32       ` Márcio Oliveira
  0 siblings, 1 reply; 18+ messages in thread
From: Neil Horman @ 2005-07-22 14:02 UTC (permalink / raw)
  To: Márcio Oliveira; +Cc: Neil Horman, arjanv, linux-kernel

On Thu, Jul 21, 2005 at 10:40:54AM -0300, Márcio Oliveira wrote:
> 
> >http://people.redhat.com/nhorman/papers/rhel3_vm.pdf
> >I wrote this with norm awhile back.  It may help you out.
> >Regards
> >Neil
> > 
> >
> Neil,
> 
>   Thanks.~10-12GB of total RAM (16GB) are
> 
>   How can Proc virtual memory parameters like inactive_clean_percent, 
> overcommit_memory, overcommit_ratio and page_cache help me to solve / 
> reduce Out Of Memory conditions on servers with 16GB RAM and lots of GB 
> swap?
> 
I wouldn't touch memory overcommit if you are already seeing out of memory
issues.  If you are using lots of pagecache, I would suggest increasing
inactive_clean percent, reducing the pagecahce.max value, and modifying the
bdflush parameters in the above document such that bdflush runs sooner, more
often, and does more work per iteration.  This will help you move data in
pagecache back to disk more aggressively so that memory will be available for
other purposes, like heap allocations. Also if you're using a Red Hat kernel and
you have 16GB of ram in your system, you're a good candidate for the hugemem
kernel.  Rather than a straightforward out of memory condition, you may be
seeing a exhaustion of your kernels address space (check LowFree in
/proc/meminfo).  In this even the hugemem kernel will help you in that it
increases your Low Memory address space from 1GB to 4GB, preventing some OOM
conditions.


>   Kernel does not free cached memory (~10-12GB of total RAM - 16GB). Is 
> there some way to force the kernel to free cached memory?
> 
Cached memory is freed on demand.  Just because its listed under the cached line
below doesn't mean it can't be freed and used for another purpose.  Implement
the tunings above, and your situation should improve.

Regards
Neil

> /proc/meminfo:
> 
>              total:    used:    free:  shared: buffers:  cached:
> Mem:    16603488256 16523333632 80154624        0 70651904 13194563584
> Swap:   17174257664 11771904 17162485760
> MemTotal:     16214344 kB
> MemFree:         78276 kB
> Buffers:         68996 kB
> Cached:       12874808 kB
> 
> Thanks to all.
> 
> Marcio.
> 
> 

-- 
/***************************************************
 *Neil Horman
 *Software Engineer
 *Red Hat, Inc.
 *nhorman@redhat.com
 *gpg keyid: 1024D / 0x92A74FA1
 *http://pgp.mit.edu
 ***************************************************/

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-22 14:02     ` Neil Horman
@ 2005-07-22 14:32       ` Márcio Oliveira
  2005-07-22 19:08         ` Neil Horman
  0 siblings, 1 reply; 18+ messages in thread
From: Márcio Oliveira @ 2005-07-22 14:32 UTC (permalink / raw)
  To: nhorman; +Cc: arjanv, linux-kernel

Neil Horman wrote:

>On Thu, Jul 21, 2005 at 10:40:54AM -0300, Márcio Oliveira wrote:
>  
>
>>>http://people.redhat.com/nhorman/papers/rhel3_vm.pdf
>>>I wrote this with norm awhile back.  It may help you out.
>>>Regards
>>>Neil
>>>
>>>
>>>      
>>>
>>Neil,
>>
>>  Thanks.~10-12GB of total RAM (16GB) are
>>
>>  How can Proc virtual memory parameters like inactive_clean_percent, 
>>overcommit_memory, overcommit_ratio and page_cache help me to solve / 
>>reduce Out Of Memory conditions on servers with 16GB RAM and lots of GB 
>>swap?
>>
>>    
>>
>I wouldn't touch memory overcommit if you are already seeing out of memory
>issues.  If you are using lots of pagecache, I would suggest increasing
>inactive_clean percent, reducing the pagecahce.max value, and modifying the
>bdflush parameters in the above document such that bdflush runs sooner, more
>often, and does more work per iteration.  This will help you move data in
>pagecache back to disk more aggressively so that memory will be available for
>other purposes, like heap allocations. Also if you're using a Red Hat kernel and
>you have 16GB of ram in your system, you're a good candidate for the hugemem
>kernel.  Rather than a straightforward out of memory condition, you may be
>seeing a exhaustion of your kernels address space (check LowFree in
>/proc/meminfo).  In this even the hugemem kernel will help you in that it
>increases your Low Memory address space from 1GB to 4GB, preventing some OOM
>conditions.
>
>
>  
>
>>  Kernel does not free cached memory (~10-12GB of total RAM - 16GB). Is 
>>there some way to force the kernel to free cached memory?
>>
>>    
>>
>Cached memory is freed on demand.  Just because its listed under the cached line
>below doesn't mean it can't be freed and used for another purpose.  Implement
>the tunings above, and your situation should improve.
>
>Regards
>Neil
>
>  
>
>>/proc/meminfo:
>>
>>             total:    used:    free:  shared: buffers:  cached:
>>Mem:    16603488256 16523333632 80154624        0 70651904 13194563584
>>Swap:   17174257664 11771904 17162485760
>>MemTotal:     16214344 kB
>>MemFree:         78276 kB
>>Buffers:         68996 kB
>>Cached:       12874808 kB
>>
>>Thanks to all.
>>
>>Marcio.
>>    
>>

Neil,

   Thanks for the answers!

The following lines are the Out Of Memory log:

Jul 20 13:45:44 server kernel: Out of Memory: Killed process 23716 (oracle).
Jul 20 13:45:44 server kernel: Fixed up OOM kill of mm-less task
Jul 20 13:45:45 server su(pam_unix)[3848]: session closed for user root
Jul 20 13:45:48 server kernel: Mem-info:
Jul 20 13:45:48 server kernel: Zone:DMA freepages:  1884 min:     0 
low:     0 high:     0
Jul 20 13:45:48 server kernel: Zone:Normal freepages:  1084 min:  1279 
low:  4544 high:  6304
Jul 20 13:45:48 server kernel: Zone:HighMem freepages:386679 min:   255 
low: 61952 high: 92928
Jul 20 13:45:48 server kernel: Free pages:      389647 (386679 HighMem)
Jul 20 13:45:48 server kernel: ( Active: 2259787/488777, 
inactive_laundry: 244282, inactive_clean: 244366, free: 389647 )
Jul 20 13:45:48 server kernel:   aa:0 ac:0 id:0 il:0 ic:0 fr:1884
Jul 20 13:45:48 server kernel:   aa:1620 ac:1801 id:231 il:15 ic:0 fr:1085
Jul 20 13:45:48 server kernel:   aa:1099230 ac:1157136 id:488536 
il:244277 ic:244366 fr:386679
Jul 20 13:45:48 server kernel: 0*4kB 0*8kB 1*16kB 1*32kB 1*64kB 0*128kB 
1*256kB 0*512kB 1*1024kB 1*2048kB 1*4096kB = 7536kB)Jul 20 13:45:48 
server kernel: 55*4kB 9*8kB 19*16kB 9*32kB 0*64kB 1*128kB 1*256kB 
0*512kB 1*1024kB 1*2048kB 0*4096kB = 4340kB)
Jul 20 13:45:48 server kernel: 291229*4kB 46179*8kB 711*16kB 1*32kB 
1*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 1546716kB)
Jul 20 13:45:48 server kernel: Swap cache: add 192990, delete 189665, 
find 21145/90719, race 0+0
Jul 20 13:45:48 server kernel: 139345 pages of slabcache
Jul 20 13:45:48 server kernel: 1890 pages of kernel stacks
Jul 20 13:45:48 server kernel: 0 lowmem pagetables, 274854 highmem 
pagetables
Jul 20 13:45:48 server kernel: Free swap:       16749720kB
Jul 20 13:45:49 server kernel: 4194304 pages of RAM
Jul 20 13:45:49 server kernel: 3899360 pages of HIGHMEM
Jul 20 13:45:49 server kernel: 140718 reserved pages
Jul 20 13:45:49 server kernel: 35350398 pages shared
Jul 20 13:45:49 server kernel: 3325 pages swap cached

/proc/meminfo LowFree info:
LowFree:         17068 kB    ------> Do you think this value is too low?

Zone:Normal freepages:  1084 min:  1279 low:  4544 high:  6304   ---->  
(freepages < min) It's normal?
Zone:HighMem freepages:386679 min:   255 low: 61952 high: 92928  ----> 
(freepages < min) It's normal?

Thanks a lot Neil!

Márcio Oliveira.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-22 14:32       ` Márcio Oliveira
@ 2005-07-22 19:08         ` Neil Horman
  2005-07-22 19:41           ` Márcio Oliveira
  0 siblings, 1 reply; 18+ messages in thread
From: Neil Horman @ 2005-07-22 19:08 UTC (permalink / raw)
  To: Márcio Oliveira; +Cc: nhorman, arjanv, linux-kernel

On Fri, Jul 22, 2005 at 11:32:52AM -0300, Márcio Oliveira wrote:
> Neil Horman wrote:
> 
> >On Thu, Jul 21, 2005 at 10:40:54AM -0300, Márcio Oliveira wrote:
> > 
> >
> >>>http://people.redhat.com/nhorman/papers/rhel3_vm.pdf
> >>>I wrote this with norm awhile back.  It may help you out.
> >>>Regards
> >>>Neil
> >>>
> >>>
> >>>     
> >>>
> >>Neil,
> >>
> >> Thanks.~10-12GB of total RAM (16GB) are
> >>
> >> How can Proc virtual memory parameters like inactive_clean_percent, 
> >>overcommit_memory, overcommit_ratio and page_cache help me to solve / 
> >>reduce Out Of Memory conditions on servers with 16GB RAM and lots of GB 
> >>swap?
> >>
> >>   
> >>
> >I wouldn't touch memory overcommit if you are already seeing out of memory
> >issues.  If you are using lots of pagecache, I would suggest increasing
> >inactive_clean percent, reducing the pagecahce.max value, and modifying the
> >bdflush parameters in the above document such that bdflush runs sooner, 
> >more
> >often, and does more work per iteration.  This will help you move data in
> >pagecache back to disk more aggressively so that memory will be available 
> >for
> >other purposes, like heap allocations. Also if you're using a Red Hat 
> >kernel and
> >you have 16GB of ram in your system, you're a good candidate for the 
> >hugemem
> >kernel.  Rather than a straightforward out of memory condition, you may be
> >seeing a exhaustion of your kernels address space (check LowFree in
> >/proc/meminfo).  In this even the hugemem kernel will help you in that it
> >increases your Low Memory address space from 1GB to 4GB, preventing some 
> >OOM
> >conditions.
> >
> >
> > 
> >
> >> Kernel does not free cached memory (~10-12GB of total RAM - 16GB). Is 
> >>there some way to force the kernel to free cached memory?
> >>
> >>   
> >>
> >Cached memory is freed on demand.  Just because its listed under the 
> >cached line
> >below doesn't mean it can't be freed and used for another purpose.  
> >Implement
> >the tunings above, and your situation should improve.
> >
> >Regards
> >Neil
> >
> > 
> >
> >>/proc/meminfo:
> >>
> >>            total:    used:    free:  shared: buffers:  cached:
> >>Mem:    16603488256 16523333632 80154624        0 70651904 13194563584
> >>Swap:   17174257664 11771904 17162485760
> >>MemTotal:     16214344 kB
> >>MemFree:         78276 kB
> >>Buffers:         68996 kB
> >>Cached:       12874808 kB
> >>
> >>Thanks to all.
> >>
> >>Marcio.
> >>   
> >>
> 
> Neil,
> 
>   Thanks for the answers!
> 
> The following lines are the Out Of Memory log:
> 
> Jul 20 13:45:44 server kernel: Out of Memory: Killed process 23716 (oracle).
> Jul 20 13:45:44 server kernel: Fixed up OOM kill of mm-less task
> Jul 20 13:45:45 server su(pam_unix)[3848]: session closed for user root
> Jul 20 13:45:48 server kernel: Mem-info:
> Jul 20 13:45:48 server kernel: Zone:DMA freepages:  1884 min:     0 
> low:     0 high:     0
> Jul 20 13:45:48 server kernel: Zone:Normal freepages:  1084 min:  1279 
> low:  4544 high:  6304
> Jul 20 13:45:48 server kernel: Zone:HighMem freepages:386679 min:   255 
> low: 61952 high: 92928
> Jul 20 13:45:48 server kernel: Free pages:      389647 (386679 HighMem)
> Jul 20 13:45:48 server kernel: ( Active: 2259787/488777, 
> inactive_laundry: 244282, inactive_clean: 244366, free: 389647 )
> Jul 20 13:45:48 server kernel:   aa:0 ac:0 id:0 il:0 ic:0 fr:1884
> Jul 20 13:45:48 server kernel:   aa:1620 ac:1801 id:231 il:15 ic:0 fr:1085
> Jul 20 13:45:48 server kernel:   aa:1099230 ac:1157136 id:488536 
> il:244277 ic:244366 fr:386679
> Jul 20 13:45:48 server kernel: 0*4kB 0*8kB 1*16kB 1*32kB 1*64kB 0*128kB 
> 1*256kB 0*512kB 1*1024kB 1*2048kB 1*4096kB = 7536kB)Jul 20 13:45:48 
> server kernel: 55*4kB 9*8kB 19*16kB 9*32kB 0*64kB 1*128kB 1*256kB 
> 0*512kB 1*1024kB 1*2048kB 0*4096kB = 4340kB)
> Jul 20 13:45:48 server kernel: 291229*4kB 46179*8kB 711*16kB 1*32kB 
> 1*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 1546716kB)
> Jul 20 13:45:48 server kernel: Swap cache: add 192990, delete 189665, 
> find 21145/90719, race 0+0
> Jul 20 13:45:48 server kernel: 139345 pages of slabcache
> Jul 20 13:45:48 server kernel: 1890 pages of kernel stacks
> Jul 20 13:45:48 server kernel: 0 lowmem pagetables, 274854 highmem 
> pagetables
> Jul 20 13:45:48 server kernel: Free swap:       16749720kB
> Jul 20 13:45:49 server kernel: 4194304 pages of RAM
> Jul 20 13:45:49 server kernel: 3899360 pages of HIGHMEM
> Jul 20 13:45:49 server kernel: 140718 reserved pages
> Jul 20 13:45:49 server kernel: 35350398 pages shared
> Jul 20 13:45:49 server kernel: 3325 pages swap cached
> 
> /proc/meminfo LowFree info:
> LowFree:         17068 kB    ------> Do you think this value is too low?
> 
No that should be plenty of lowFree, but that number can change quickly
depending on workload.

> Zone:Normal freepages:  1084 min:  1279 low:  4544 high:  6304   ---->  
> (freepages < min) It's normal?
> Zone:HighMem freepages:386679 min:   255 low: 61952 high: 92928  ----> 
> (freepages < min) It's normal?
> 
You're beneath your low water mark in the normal (lowmem) zone for free pages,
so your kernel is likely trying to get lots of data moved to disk.  Although
given that you're largest buddy list has a 2048K chunk free, I'm hard pressed to
see how you aren't able to get memory when you need it.  Do you have a module
loaded in your kernel that might require such large memory allocations.
Neil

> Thanks a lot Neil!
> 
> Márcio Oliveira.
> 
> 

-- 
/***************************************************
 *Neil Horman
 *Software Engineer
 *Red Hat, Inc.
 *nhorman@redhat.com
 *gpg keyid: 1024D / 0x92A74FA1
 *http://pgp.mit.edu
 ***************************************************/

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-22 19:08         ` Neil Horman
@ 2005-07-22 19:41           ` Márcio Oliveira
  2005-07-22 20:58             ` Roger Heflin
  0 siblings, 1 reply; 18+ messages in thread
From: Márcio Oliveira @ 2005-07-22 19:41 UTC (permalink / raw)
  To: Neil Horman; +Cc: arjanv, linux-kernel

Neil Horman wrote:

>On Fri, Jul 22, 2005 at 11:32:52AM -0300, Márcio Oliveira wrote:
>  
>
>>Neil Horman wrote:
>>
>>    
>>
>>>On Thu, Jul 21, 2005 at 10:40:54AM -0300, Márcio Oliveira wrote:
>>>
>>>
>>>      
>>>
>>>>>http://people.redhat.com/nhorman/papers/rhel3_vm.pdf
>>>>>I wrote this with norm awhile back.  It may help you out.
>>>>>Regards
>>>>>Neil
>>>>>
>>>>>
>>>>>    
>>>>>
>>>>>          
>>>>>
>>>>Neil,
>>>>
>>>>Thanks.~10-12GB of total RAM (16GB) are
>>>>
>>>>How can Proc virtual memory parameters like inactive_clean_percent, 
>>>>overcommit_memory, overcommit_ratio and page_cache help me to solve / 
>>>>reduce Out Of Memory conditions on servers with 16GB RAM and lots of GB 
>>>>swap?
>>>>
>>>>  
>>>>
>>>>        
>>>>
>>>I wouldn't touch memory overcommit if you are already seeing out of memory
>>>issues.  If you are using lots of pagecache, I would suggest increasing
>>>inactive_clean percent, reducing the pagecahce.max value, and modifying the
>>>bdflush parameters in the above document such that bdflush runs sooner, 
>>>more
>>>often, and does more work per iteration.  This will help you move data in
>>>pagecache back to disk more aggressively so that memory will be available 
>>>for
>>>other purposes, like heap allocations. Also if you're using a Red Hat 
>>>kernel and
>>>you have 16GB of ram in your system, you're a good candidate for the 
>>>hugemem
>>>kernel.  Rather than a straightforward out of memory condition, you may be
>>>seeing a exhaustion of your kernels address space (check LowFree in
>>>/proc/meminfo).  In this even the hugemem kernel will help you in that it
>>>increases your Low Memory address space from 1GB to 4GB, preventing some 
>>>OOM
>>>conditions.
>>>
>>>
>>>
>>>
>>>      
>>>
>>>>Kernel does not free cached memory (~10-12GB of total RAM - 16GB). Is 
>>>>there some way to force the kernel to free cached memory?
>>>>
>>>>  
>>>>
>>>>        
>>>>
>>>Cached memory is freed on demand.  Just because its listed under the 
>>>cached line
>>>below doesn't mean it can't be freed and used for another purpose.  
>>>Implement
>>>the tunings above, and your situation should improve.
>>>
>>>Regards
>>>Neil
>>>
>>>
>>>
>>>      
>>>
>>>>/proc/meminfo:
>>>>
>>>>           total:    used:    free:  shared: buffers:  cached:
>>>>Mem:    16603488256 16523333632 80154624        0 70651904 13194563584
>>>>Swap:   17174257664 11771904 17162485760
>>>>MemTotal:     16214344 kB
>>>>MemFree:         78276 kB
>>>>Buffers:         68996 kB
>>>>Cached:       12874808 kB
>>>>
>>>>Thanks to all.
>>>>
>>>>Marcio.
>>>>  
>>>>
>>>>        
>>>>
>>Neil,
>>
>>  Thanks for the answers!
>>
>>The following lines are the Out Of Memory log:
>>
>>Jul 20 13:45:44 server kernel: Out of Memory: Killed process 23716 (oracle).
>>Jul 20 13:45:44 server kernel: Fixed up OOM kill of mm-less task
>>Jul 20 13:45:45 server su(pam_unix)[3848]: session closed for user root
>>Jul 20 13:45:48 server kernel: Mem-info:
>>Jul 20 13:45:48 server kernel: Zone:DMA freepages:  1884 min:     0 
>>low:     0 high:     0
>>Jul 20 13:45:48 server kernel: Zone:Normal freepages:  1084 min:  1279 
>>low:  4544 high:  6304
>>Jul 20 13:45:48 server kernel: Zone:HighMem freepages:386679 min:   255 
>>low: 61952 high: 92928
>>Jul 20 13:45:48 server kernel: Free pages:      389647 (386679 HighMem)
>>Jul 20 13:45:48 server kernel: ( Active: 2259787/488777, 
>>inactive_laundry: 244282, inactive_clean: 244366, free: 389647 )
>>Jul 20 13:45:48 server kernel:   aa:0 ac:0 id:0 il:0 ic:0 fr:1884
>>Jul 20 13:45:48 server kernel:   aa:1620 ac:1801 id:231 il:15 ic:0 fr:1085
>>Jul 20 13:45:48 server kernel:   aa:1099230 ac:1157136 id:488536 
>>il:244277 ic:244366 fr:386679
>>Jul 20 13:45:48 server kernel: 0*4kB 0*8kB 1*16kB 1*32kB 1*64kB 0*128kB 
>>1*256kB 0*512kB 1*1024kB 1*2048kB 1*4096kB = 7536kB)Jul 20 13:45:48 
>>server kernel: 55*4kB 9*8kB 19*16kB 9*32kB 0*64kB 1*128kB 1*256kB 
>>0*512kB 1*1024kB 1*2048kB 0*4096kB = 4340kB)
>>Jul 20 13:45:48 server kernel: 291229*4kB 46179*8kB 711*16kB 1*32kB 
>>1*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 1546716kB)
>>Jul 20 13:45:48 server kernel: Swap cache: add 192990, delete 189665, 
>>find 21145/90719, race 0+0
>>Jul 20 13:45:48 server kernel: 139345 pages of slabcache
>>Jul 20 13:45:48 server kernel: 1890 pages of kernel stacks
>>Jul 20 13:45:48 server kernel: 0 lowmem pagetables, 274854 highmem 
>>pagetables
>>Jul 20 13:45:48 server kernel: Free swap:       16749720kB
>>Jul 20 13:45:49 server kernel: 4194304 pages of RAM
>>Jul 20 13:45:49 server kernel: 3899360 pages of HIGHMEM
>>Jul 20 13:45:49 server kernel: 140718 reserved pages
>>Jul 20 13:45:49 server kernel: 35350398 pages shared
>>Jul 20 13:45:49 server kernel: 3325 pages swap cached
>>
>>/proc/meminfo LowFree info:
>>LowFree:         17068 kB    ------> Do you think this value is too low?
>>
>>    
>>
>No that should be plenty of lowFree, but that number can change quickly
>depending on workload.
>
>  
>
>>Zone:Normal freepages:  1084 min:  1279 low:  4544 high:  6304   ---->  
>>(freepages < min) It's normal?
>>Zone:HighMem freepages:386679 min:   255 low: 61952 high: 92928  ----> 
>>(freepages < min) It's normal?
>>
>>    
>>
>You're beneath your low water mark in the normal (lowmem) zone for free pages,
>so your kernel is likely trying to get lots of data moved to disk.  Although
>given that you're largest buddy list has a 2048K chunk free, I'm hard pressed to
>see how you aren't able to get memory when you need it.  Do you have a module
>loaded in your kernel that might require such large memory allocations.
>Neil
>
>  
>
>>Thanks a lot Neil!
>>
>>Márcio Oliveira.
>>
>>
>>    
>>
>
>  
>
Neil,

   Thanks for the help.

   I have a storage attached to the server. Maybe the storage module 
require lots of memory.
   Maybe the "LowFree" be wrong (out of OOM time), so there is possible 
that "LowFree" value be too small on the OOM condition.

  Is there a way to identify if the Low Memory is too small?  (some 
program, command, daemon...)

  The server has 16GB RAM and 16GB swap. When the OOM kill conditions 
happens, the system has ~6GB RAM used, ~10GB RAM cached and 16GB free 
swap. Is that indicate that the server can't allocate Low Memory and 
starts OOM conditions? Because the High Memory is OK, right?

Thanks again!

Márcio.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* RE: Memory Management
  2005-07-22 19:41           ` Márcio Oliveira
@ 2005-07-22 20:58             ` Roger Heflin
  2005-07-22 23:23               ` Márcio Oliveira
  0 siblings, 1 reply; 18+ messages in thread
From: Roger Heflin @ 2005-07-22 20:58 UTC (permalink / raw)
  To: 'Márcio Oliveira', 'Neil Horman'
  Cc: arjanv, linux-kernel


I have seen RH3.0 crash on 32GB systems because it has too
much memory tied up in write cache.  It required update 2 
(this was a while ago) and a change of a parameter in /proc
to prevent the crash, it was because of a overagressive
write caching change RH implemented in the kernel resulted
in the crash.  This crash was an OOM related crash.  To
duplicate the bug, you booted the machine and ran a dd
to create a very large file filling the disk.

We did test and did determine that it did not appear to have
the issue if you had less than 28GB of ram, this was on an
itanium machine, so I don't know if it occurs on other arches,
and if it occurs at the same memory limits on the other arches
either.

                        Roger

 

> -----Original Message-----
> From: linux-kernel-owner@vger.kernel.org 
> [mailto:linux-kernel-owner@vger.kernel.org] On Behalf Of 
> Márcio Oliveira
> Sent: Friday, July 22, 2005 2:42 PM
> To: Neil Horman
> Cc: arjanv@redhat.com; linux-kernel@vger.kernel.org
> Subject: Re: Memory Management
> 
> Neil Horman wrote:
> 
> >On Fri, Jul 22, 2005 at 11:32:52AM -0300, Márcio Oliveira wrote:
> >  
> >
> >>Neil Horman wrote:
> >>
> >>    
> >>
> >>>On Thu, Jul 21, 2005 at 10:40:54AM -0300, Márcio Oliveira wrote:
> >>>
> >>>
> >>>      
> >>>
> >>>>>http://people.redhat.com/nhorman/papers/rhel3_vm.pdf
> >>>>>I wrote this with norm awhile back.  It may help you out.
> >>>>>Regards
> >>>>>Neil
> >>>>>
> >>>>>
> >>>>>    
> >>>>>
> >>>>>          
> >>>>>
> >>>>Neil,
> >>>>
> >>>>Thanks.~10-12GB of total RAM (16GB) are
> >>>>
> >>>>How can Proc virtual memory parameters like 
> inactive_clean_percent, 
> >>>>overcommit_memory, overcommit_ratio and page_cache help 
> me to solve 
> >>>>/ reduce Out Of Memory conditions on servers with 16GB 
> RAM and lots 
> >>>>of GB swap?
> >>>>
> >>>>  
> >>>>
> >>>>        
> >>>>
> >>>I wouldn't touch memory overcommit if you are already 
> seeing out of 
> >>>memory issues.  If you are using lots of pagecache, I 
> would suggest 
> >>>increasing inactive_clean percent, reducing the 
> pagecahce.max value, 
> >>>and modifying the bdflush parameters in the above document 
> such that 
> >>>bdflush runs sooner, more often, and does more work per 
> iteration.  
> >>>This will help you move data in pagecache back to disk more 
> >>>aggressively so that memory will be available for other purposes, 
> >>>like heap allocations. Also if you're using a Red Hat 
> kernel and you 
> >>>have 16GB of ram in your system, you're a good candidate for the 
> >>>hugemem kernel.  Rather than a straightforward out of memory 
> >>>condition, you may be seeing a exhaustion of your kernels address 
> >>>space (check LowFree in /proc/meminfo).  In this even the hugemem 
> >>>kernel will help you in that it increases your Low Memory address 
> >>>space from 1GB to 4GB, preventing some OOM conditions.
> >>>
> >>>
> >>>
> >>>
> >>>      
> >>>
> >>>>Kernel does not free cached memory (~10-12GB of total RAM 
> - 16GB). Is 
> >>>>there some way to force the kernel to free cached memory?
> >>>>
> >>>>  
> >>>>
> >>>>        
> >>>>
> >>>Cached memory is freed on demand.  Just because its listed 
> under the 
> >>>cached line
> >>>below doesn't mean it can't be freed and used for another 
> purpose.  
> >>>Implement
> >>>the tunings above, and your situation should improve.
> >>>
> >>>Regards
> >>>Neil
> >>>
> >>>
> >>>
> >>>      
> >>>
> >>>>/proc/meminfo:
> >>>>
> >>>>           total:    used:    free:  shared: buffers:  cached:
> >>>>Mem:    16603488256 16523333632 80154624        0 
> 70651904 13194563584
> >>>>Swap:   17174257664 11771904 17162485760
> >>>>MemTotal:     16214344 kB
> >>>>MemFree:         78276 kB
> >>>>Buffers:         68996 kB
> >>>>Cached:       12874808 kB
> >>>>
> >>>>Thanks to all.
> >>>>
> >>>>Marcio.
> >>>>  
> >>>>
> >>>>        
> >>>>
> >>Neil,
> >>
> >>  Thanks for the answers!
> >>
> >>The following lines are the Out Of Memory log:
> >>
> >>Jul 20 13:45:44 server kernel: Out of Memory: Killed 
> process 23716 (oracle).
> >>Jul 20 13:45:44 server kernel: Fixed up OOM kill of mm-less task
> >>Jul 20 13:45:45 server su(pam_unix)[3848]: session closed 
> for user root
> >>Jul 20 13:45:48 server kernel: Mem-info:
> >>Jul 20 13:45:48 server kernel: Zone:DMA freepages:  1884 min:     0 
> >>low:     0 high:     0
> >>Jul 20 13:45:48 server kernel: Zone:Normal freepages:  1084 
> min:  1279 
> >>low:  4544 high:  6304
> >>Jul 20 13:45:48 server kernel: Zone:HighMem 
> freepages:386679 min:   255 
> >>low: 61952 high: 92928
> >>Jul 20 13:45:48 server kernel: Free pages:      389647 
> (386679 HighMem)
> >>Jul 20 13:45:48 server kernel: ( Active: 2259787/488777, 
> >>inactive_laundry: 244282, inactive_clean: 244366, free: 389647 )
> >>Jul 20 13:45:48 server kernel:   aa:0 ac:0 id:0 il:0 ic:0 fr:1884
> >>Jul 20 13:45:48 server kernel:   aa:1620 ac:1801 id:231 
> il:15 ic:0 fr:1085
> >>Jul 20 13:45:48 server kernel:   aa:1099230 ac:1157136 id:488536 
> >>il:244277 ic:244366 fr:386679
> >>Jul 20 13:45:48 server kernel: 0*4kB 0*8kB 1*16kB 1*32kB 
> 1*64kB 0*128kB 
> >>1*256kB 0*512kB 1*1024kB 1*2048kB 1*4096kB = 7536kB)Jul 20 13:45:48 
> >>server kernel: 55*4kB 9*8kB 19*16kB 9*32kB 0*64kB 1*128kB 1*256kB 
> >>0*512kB 1*1024kB 1*2048kB 0*4096kB = 4340kB)
> >>Jul 20 13:45:48 server kernel: 291229*4kB 46179*8kB 711*16kB 1*32kB 
> >>1*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 
> 1546716kB)
> >>Jul 20 13:45:48 server kernel: Swap cache: add 192990, 
> delete 189665, 
> >>find 21145/90719, race 0+0
> >>Jul 20 13:45:48 server kernel: 139345 pages of slabcache
> >>Jul 20 13:45:48 server kernel: 1890 pages of kernel stacks
> >>Jul 20 13:45:48 server kernel: 0 lowmem pagetables, 274854 highmem 
> >>pagetables
> >>Jul 20 13:45:48 server kernel: Free swap:       16749720kB
> >>Jul 20 13:45:49 server kernel: 4194304 pages of RAM
> >>Jul 20 13:45:49 server kernel: 3899360 pages of HIGHMEM
> >>Jul 20 13:45:49 server kernel: 140718 reserved pages
> >>Jul 20 13:45:49 server kernel: 35350398 pages shared
> >>Jul 20 13:45:49 server kernel: 3325 pages swap cached
> >>
> >>/proc/meminfo LowFree info:
> >>LowFree:         17068 kB    ------> Do you think this 
> value is too low?
> >>
> >>    
> >>
> >No that should be plenty of lowFree, but that number can 
> change quickly
> >depending on workload.
> >
> >  
> >
> >>Zone:Normal freepages:  1084 min:  1279 low:  4544 high:  
> 6304   ---->  
> >>(freepages < min) It's normal?
> >>Zone:HighMem freepages:386679 min:   255 low: 61952 high: 
> 92928  ----> 
> >>(freepages < min) It's normal?
> >>
> >>    
> >>
> >You're beneath your low water mark in the normal (lowmem) 
> zone for free pages,
> >so your kernel is likely trying to get lots of data moved to 
> disk.  Although
> >given that you're largest buddy list has a 2048K chunk free, 
> I'm hard pressed to
> >see how you aren't able to get memory when you need it.  Do 
> you have a module
> >loaded in your kernel that might require such large memory 
> allocations.
> >Neil
> >
> >  
> >
> >>Thanks a lot Neil!
> >>
> >>Márcio Oliveira.
> >>
> >>
> >>    
> >>
> >
> >  
> >
> Neil,
> 
>    Thanks for the help.
> 
>    I have a storage attached to the server. Maybe the storage module 
> require lots of memory.
>    Maybe the "LowFree" be wrong (out of OOM time), so there 
> is possible 
> that "LowFree" value be too small on the OOM condition.
> 
>   Is there a way to identify if the Low Memory is too small?  (some 
> program, command, daemon...)
> 
>   The server has 16GB RAM and 16GB swap. When the OOM kill conditions 
> happens, the system has ~6GB RAM used, ~10GB RAM cached and 16GB free 
> swap. Is that indicate that the server can't allocate Low Memory and 
> starts OOM conditions? Because the High Memory is OK, right?
> 
> Thanks again!
> 
> Márcio.
> -
> To unsubscribe from this list: send the line "unsubscribe 
> linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-22 20:58             ` Roger Heflin
@ 2005-07-22 23:23               ` Márcio Oliveira
  2005-07-23 18:45                 ` Neil Horman
  0 siblings, 1 reply; 18+ messages in thread
From: Márcio Oliveira @ 2005-07-22 23:23 UTC (permalink / raw)
  To: Roger Heflin; +Cc: 'Neil Horman', arjanv, linux-kernel


Roger Heflin wrote:

>I have seen RH3.0 crash on 32GB systems because it has too
>much memory tied up in write cache.  It required update 2 
>(this was a while ago) and a change of a parameter in /proc
>to prevent the crash, it was because of a overagressive
>write caching change RH implemented in the kernel resulted
>in the crash.  This crash was an OOM related crash.  To
>duplicate the bug, you booted the machine and ran a dd
>to create a very large file filling the disk.
>
>We did test and did determine that it did not appear to have
>the issue if you had less than 28GB of ram, this was on an
>itanium machine, so I don't know if it occurs on other arches,
>and if it occurs at the same memory limits on the other arches
>either.
>
>                        Roger
>
> 
>
>  
>
>>-----Original Message-----
>>From: linux-kernel-owner@vger.kernel.org 
>>[mailto:linux-kernel-owner@vger.kernel.org] On Behalf Of 
>>Márcio Oliveira
>>Sent: Friday, July 22, 2005 2:42 PM
>>To: Neil Horman
>>Cc: arjanv@redhat.com; linux-kernel@vger.kernel.org
>>Subject: Re: Memory Management
>>
>>Neil Horman wrote:
>>
>>    
>>
>>>On Fri, Jul 22, 2005 at 11:32:52AM -0300, Márcio Oliveira wrote:
>>> 
>>>
>>>      
>>>
>>>>Neil Horman wrote:
>>>>
>>>>   
>>>>
>>>>        
>>>>
>>>>>On Thu, Jul 21, 2005 at 10:40:54AM -0300, Márcio Oliveira wrote:
>>>>>
>>>>>
>>>>>     
>>>>>
>>>>>          
>>>>>
>>>>>>>http://people.redhat.com/nhorman/papers/rhel3_vm.pdf
>>>>>>>I wrote this with norm awhile back.  It may help you out.
>>>>>>>Regards
>>>>>>>Neil
>>>>>>>
>>>>>>>
>>>>>>>   
>>>>>>>
>>>>>>>         
>>>>>>>
>>>>>>>              
>>>>>>>
>>>>>>Neil,
>>>>>>
>>>>>>Thanks.~10-12GB of total RAM (16GB) are
>>>>>>
>>>>>>How can Proc virtual memory parameters like 
>>>>>>            
>>>>>>
>>inactive_clean_percent, 
>>    
>>
>>>>>>overcommit_memory, overcommit_ratio and page_cache help 
>>>>>>            
>>>>>>
>>me to solve 
>>    
>>
>>>>>>/ reduce Out Of Memory conditions on servers with 16GB 
>>>>>>            
>>>>>>
>>RAM and lots 
>>    
>>
>>>>>>of GB swap?
>>>>>>
>>>>>> 
>>>>>>
>>>>>>       
>>>>>>
>>>>>>            
>>>>>>
>>>>>I wouldn't touch memory overcommit if you are already 
>>>>>          
>>>>>
>>seeing out of 
>>    
>>
>>>>>memory issues.  If you are using lots of pagecache, I 
>>>>>          
>>>>>
>>would suggest 
>>    
>>
>>>>>increasing inactive_clean percent, reducing the 
>>>>>          
>>>>>
>>pagecahce.max value, 
>>    
>>
>>>>>and modifying the bdflush parameters in the above document 
>>>>>          
>>>>>
>>such that 
>>    
>>
>>>>>bdflush runs sooner, more often, and does more work per 
>>>>>          
>>>>>
>>iteration.  
>>    
>>
>>>>>This will help you move data in pagecache back to disk more 
>>>>>aggressively so that memory will be available for other purposes, 
>>>>>like heap allocations. Also if you're using a Red Hat 
>>>>>          
>>>>>
>>kernel and you 
>>    
>>
>>>>>have 16GB of ram in your system, you're a good candidate for the 
>>>>>hugemem kernel.  Rather than a straightforward out of memory 
>>>>>condition, you may be seeing a exhaustion of your kernels address 
>>>>>space (check LowFree in /proc/meminfo).  In this even the hugemem 
>>>>>kernel will help you in that it increases your Low Memory address 
>>>>>space from 1GB to 4GB, preventing some OOM conditions.
>>>>>
>>>>>
>>>>>          
>>>>>
>>>>>>Kernel does not free cached memory (~10-12GB of total RAM 
>>>>>>            
>>>>>>
>>- 16GB). Is 
>>    
>>
>>>>>>there some way to force the kernel to free cached memory?
>>>>>>            
>>>>>>
>>>>>Cached memory is freed on demand.  Just because its listed 
>>>>>          
>>>>>
>>under the 
>>    
>>
>>>>>cached line
>>>>>below doesn't mean it can't be freed and used for another 
>>>>>          
>>>>>
>>purpose.  
>>    
>>
>>>>>Implement
>>>>>the tunings above, and your situation should improve.
>>>>>
>>>>>Regards
>>>>>Neil
>>>>>
>>>>>
>>>>>
>>>>>     
>>>>>
>>>>>          
>>>>>
>>>>>>/proc/meminfo:
>>>>>>
>>>>>>          total:    used:    free:  shared: buffers:  cached:
>>>>>>Mem:    16603488256 16523333632 80154624        0 
>>>>>>            
>>>>>>
>>70651904 13194563584
>>    
>>
>>>>>>Swap:   17174257664 11771904 17162485760
>>>>>>MemTotal:     16214344 kB
>>>>>>MemFree:         78276 kB
>>>>>>Buffers:         68996 kB
>>>>>>Cached:       12874808 kB
>>>>>>
>>>>>>Thanks to all.
>>>>>>
>>>>>>Marcio.
>>>>>> 
>>>>>>
>>>>>>       
>>>>>>
>>>>>>            
>>>>>>
>>>>Neil,
>>>>
>>>> Thanks for the answers!
>>>>
>>>>The following lines are the Out Of Memory log:
>>>>
>>>>Jul 20 13:45:44 server kernel: Out of Memory: Killed 
>>>>        
>>>>
>>process 23716 (oracle).
>>    
>>
>>>>Jul 20 13:45:44 server kernel: Fixed up OOM kill of mm-less task
>>>>Jul 20 13:45:45 server su(pam_unix)[3848]: session closed 
>>>>        
>>>>
>>for user root
>>    
>>
>>>>Jul 20 13:45:48 server kernel: Mem-info:
>>>>Jul 20 13:45:48 server kernel: Zone:DMA freepages:  1884 min:     0 
>>>>low:     0 high:     0
>>>>Jul 20 13:45:48 server kernel: Zone:Normal freepages:  1084 
>>>>        
>>>>
>>min:  1279 
>>    
>>
>>>>low:  4544 high:  6304
>>>>Jul 20 13:45:48 server kernel: Zone:HighMem 
>>>>        
>>>>
>>freepages:386679 min:   255 
>>    
>>
>>>>low: 61952 high: 92928
>>>>Jul 20 13:45:48 server kernel: Free pages:      389647 
>>>>        
>>>>
>>(386679 HighMem)
>>    
>>
>>>>Jul 20 13:45:48 server kernel: ( Active: 2259787/488777, 
>>>>inactive_laundry: 244282, inactive_clean: 244366, free: 389647 )
>>>>Jul 20 13:45:48 server kernel:   aa:0 ac:0 id:0 il:0 ic:0 fr:1884
>>>>Jul 20 13:45:48 server kernel:   aa:1620 ac:1801 id:231 
>>>>        
>>>>
>>il:15 ic:0 fr:1085
>>    
>>
>>>>Jul 20 13:45:48 server kernel:   aa:1099230 ac:1157136 id:488536 
>>>>il:244277 ic:244366 fr:386679
>>>>Jul 20 13:45:48 server kernel: 0*4kB 0*8kB 1*16kB 1*32kB 
>>>>        
>>>>
>>1*64kB 0*128kB 
>>    
>>
>>>>1*256kB 0*512kB 1*1024kB 1*2048kB 1*4096kB = 7536kB)Jul 20 13:45:48 
>>>>server kernel: 55*4kB 9*8kB 19*16kB 9*32kB 0*64kB 1*128kB 1*256kB 
>>>>0*512kB 1*1024kB 1*2048kB 0*4096kB = 4340kB)
>>>>Jul 20 13:45:48 server kernel: 291229*4kB 46179*8kB 711*16kB 1*32kB 
>>>>1*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 
>>>>        
>>>>
>>1546716kB)
>>    
>>
>>>>Jul 20 13:45:48 server kernel: Swap cache: add 192990, 
>>>>        
>>>>
>>delete 189665, 
>>    
>>
>>>>find 21145/90719, race 0+0
>>>>Jul 20 13:45:48 server kernel: 139345 pages of slabcache
>>>>Jul 20 13:45:48 server kernel: 1890 pages of kernel stacks
>>>>Jul 20 13:45:48 server kernel: 0 lowmem pagetables, 274854 highmem 
>>>>pagetables
>>>>Jul 20 13:45:48 server kernel: Free swap:       16749720kB
>>>>Jul 20 13:45:49 server kernel: 4194304 pages of RAM
>>>>Jul 20 13:45:49 server kernel: 3899360 pages of HIGHMEM
>>>>Jul 20 13:45:49 server kernel: 140718 reserved pages
>>>>Jul 20 13:45:49 server kernel: 35350398 pages shared
>>>>Jul 20 13:45:49 server kernel: 3325 pages swap cached
>>>>
>>>>/proc/meminfo LowFree info:
>>>>LowFree:         17068 kB    ------> Do you think this 
>>>>        
>>>>
>>value is too low?
>>    
>>
>>>>   
>>>>
>>>>        
>>>>
>>>No that should be plenty of lowFree, but that number can 
>>>      
>>>
>>change quickly
>>    
>>
>>>depending on workload.
>>>
>>> 
>>>
>>>      
>>>
>>>>Zone:Normal freepages:  1084 min:  1279 low:  4544 high:  
>>>>        
>>>>
>>6304   ---->  
>>    
>>
>>>>(freepages < min) It's normal?
>>>>Zone:HighMem freepages:386679 min:   255 low: 61952 high: 
>>>>        
>>>>
>>92928  ----> 
>>    
>>
>>>>(freepages < min) It's normal?
>>>>
>>>>   
>>>>
>>>>        
>>>>
>>>You're beneath your low water mark in the normal (lowmem) 
>>>      
>>>
>>zone for free pages,
>>    
>>
>>>so your kernel is likely trying to get lots of data moved to 
>>>      
>>>
>>disk.  Although
>>    
>>
>>>given that you're largest buddy list has a 2048K chunk free, 
>>>      
>>>
>>I'm hard pressed to
>>    
>>
>>>see how you aren't able to get memory when you need it.  Do 
>>>      
>>>
>>you have a module
>>    
>>
>>>loaded in your kernel that might require such large memory 
>>>      
>>>
>>allocations.
>>    
>>
>>>Neil
>>>
>>> 
>>>
>>>      
>>>
>>>>Thanks a lot Neil!
>>>>
>>>>Márcio Oliveira.
>>>>
>>>>
>>>>   
>>>>
>>>>        
>>>>
>>> 
>>>
>>>      
>>>
>>Neil,
>>
>>   Thanks for the help.
>>
>>   I have a storage attached to the server. Maybe the storage module 
>>require lots of memory.
>>   Maybe the "LowFree" be wrong (out of OOM time), so there 
>>is possible 
>>that "LowFree" value be too small on the OOM condition.
>>
>>  Is there a way to identify if the Low Memory is too small?  (some 
>>program, command, daemon...)
>>
>>  The server has 16GB RAM and 16GB swap. When the OOM kill conditions 
>>happens, the system has ~6GB RAM used, ~10GB RAM cached and 16GB free 
>>swap. Is that indicate that the server can't allocate Low Memory and 
>>starts OOM conditions? Because the High Memory is OK, right?
>>
>>Thanks again!
>>
>>Márcio.
>>-
>>To unsubscribe from this list: send the line "unsubscribe 
>>linux-kernel" in
>>the body of a message to majordomo@vger.kernel.org
>>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>Please read the FAQ at  http://www.tux.org/lkml/
>>
>>    
>>
>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at  http://www.tux.org/lkml/
>  
>
Roger, thanks for the information.

   I'm using Update 4 kernels (2.4.21-27.ELsmp - This kernel have some 
mm / oom fixes) and don't have big problems when create large files, 
plus the server is a 32-bit machine. 

   Neil said that the problem can be Low Memory and I think it too.

   I read the following message on the list:

http://marc.theaimsgroup.com/?l=linux-kernel&m=112044530919567&w=4

   The problem seems like a I/O issue. Can I/O (like storage devices) 
consume a large amount of low memory? Neil also said that the kernel is 
trying to move lots of data to the disk and it's a module might require 
such large memory. Somebody know how can I identify what is using Low 
Memory on my system?

   The older questions in the message are:

 The server has 16GB RAM and 16GB swap. When the OOM kill conditions happens, the system has ~6GB RAM used, ~10GB RAM cached and 16GB free swap. Is that indicate that the server can't allocate Low Memory and starts OOM conditions? Because the High Memory is OK, right?

Thanks to all!

Regards,
Márcio



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-22 23:23               ` Márcio Oliveira
@ 2005-07-23 18:45                 ` Neil Horman
  2005-07-23 23:16                   ` Márcio Oliveira
  0 siblings, 1 reply; 18+ messages in thread
From: Neil Horman @ 2005-07-23 18:45 UTC (permalink / raw)
  To: Márcio Oliveira
  Cc: Roger Heflin, 'Neil Horman', arjanv, linux-kernel

On Fri, Jul 22, 2005 at 08:23:19PM -0300, Márcio Oliveira wrote:
<snip>
> >
> Roger, thanks for the information.
> 
>   I'm using Update 4 kernels (2.4.21-27.ELsmp - This kernel have some 
> mm / oom fixes) and don't have big problems when create large files, 
> plus the server is a 32-bit machine. 
> 
>   Neil said that the problem can be Low Memory and I think it too.
> 
>   I read the following message on the list:
> 
> http://marc.theaimsgroup.com/?l=linux-kernel&m=112044530919567&w=4
> 
>   The problem seems like a I/O issue. Can I/O (like storage devices) 
> consume a large amount of low memory? Neil also said that the kernel is 
> trying to move lots of data to the disk and it's a module might require 
> such large memory. Somebody know how can I identify what is using Low 
> Memory on my system?
> 
The best way I can think to do that is take a look at /proc/slabinfo.  That will
likely give you a pointer to which area of code is eating up your memory.

>   The older questions in the message are:
> 
> The server has 16GB RAM and 16GB swap. When the OOM kill conditions 
> happens, the system has ~6GB RAM used, ~10GB RAM cached and 16GB free swap. 
> Is that indicate that the server can't allocate Low Memory and starts OOM 
> conditions? Because the High Memory is OK, right?
> 
Based on the sysrq-m info you posted it looks like due to fragmentation the
largest chunk of memory you can allocate is 2MB (perhaps less depending on
address space availability).  If you can build a test kernel to do a show_state
rather than a show_mem at the beginning of oom_kil, then you should be able to
tell who is trying to do an allocation that leads to kswapd calling
out_of_memory.

> Thanks to all!
> 
> Regards,
> Márcio
> 
> 

-- 
/***************************************************
 *Neil Horman
 *Software Engineer
 *Red Hat, Inc.
 *nhorman@redhat.com
 *gpg keyid: 1024D / 0x92A74FA1
 *http://pgp.mit.edu
 ***************************************************/

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-23 18:45                 ` Neil Horman
@ 2005-07-23 23:16                   ` Márcio Oliveira
  2005-07-24 18:54                     ` Neil Horman
  0 siblings, 1 reply; 18+ messages in thread
From: Márcio Oliveira @ 2005-07-23 23:16 UTC (permalink / raw)
  To: nhorman; +Cc: rheflin, arjanv, linux-kernel

Neil,

>The best way I can think to do that is take a look at /proc/slabinfo.  That will
>likely give you a pointer to which area of code is eating up your memory.
>  
>
OK. I will monitor the /proc/slabinfo file.

>Based on the sysrq-m info you posted it looks like due to fragmentation the
>largest chunk of memory you can allocate is 2MB (perhaps less depending on
>address space availability).  If you can build a test kernel to do a show_state
>rather than a show_mem at the beginning of oom_kil, then you should be able to
>tell who is trying to do an allocation that leads to kswapd calling
>out_of_memory.
>  
>
Neil, I'm trying to recompile the kernel source 2.4.21-32.0.1 and get 
some error messages:

In file included from 
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/prefetch.h:13,
                 from 
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/list.h:6,
                 from 
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:12,
                 from 3w-xxxx.c:172:
/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:61: warning: 
parameter names (without types) in function declaration
/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:61: field 
`loops_per_jiffy_R_ver_str' declared as a function
/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: invalid 
suffix on integer constant
/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: syntax error 
before numeric constant
/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: warning: 
function declaration isn't a prototype
/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: invalid 
suffix on integer constant
/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: syntax 
error before numeric constant
/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: warning: 
function declaration isn't a prototype
/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:273: warning: 
parameter names (without types) in function declaration
In file included from 3w-xxxx.c:172:
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: invalid 
suffix on integer constant
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: syntax error 
before numeric constant
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: 
`inter_module_register_R_ver_str' declared as function returning a function
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: warning: 
function declaration isn't a prototype
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: invalid 
suffix on integer constant
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: syntax error 
before numeric constant
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: 
`inter_module_unregister_R_ver_str' declared as function returning a 
function
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: warning: 
function declaration isn't a prototype
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:192: 
`inter_module_get_R_ver_str' declared as function returning a function
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:192: warning: 
parameter names (without types) in function declaration
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:193: 
`inter_module_get_request_R_ver_str' declared as function returning a 
function
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:193: warning: 
parameter names (without types) in function declaration
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: invalid 
suffix on integer constant
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: syntax error 
before numeric constant
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: 
`inter_module_put_R_ver_str' declared as function returning a function
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: warning: 
function declaration isn't a prototype
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:203: 
`try_inc_mod_count_R_ver_str' declared as function returning a function
/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:203: warning: 
parameter names (without types) in function declaration
make[3]: *** [3w-xxxx_10200033.o] Error 1
make[3]: Leaving directory 
`/usr/src/linux-2.4.21-32.0.1.EL/drivers/addon/3w-xxxx_10200033'
make[2]: *** [_modsubdir_3w-xxxx_10200033] Error 2
make[2]: Leaving directory `/usr/src/linux-2.4.21-32.0.1.EL/drivers/addon'
make[1]: *** [_modsubdir_addon] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.21-32.0.1.EL/drivers'
make: *** [_mod_drivers] Error 2

Is there any relationship between the sysrq-m changes to do show_state() 
rather than a show_mem() and the compiling erros?

/usr/src/linux-2.4.21-32.0.1.EL/include/linux/prefetch.h, line 13:
    #include <asm/processor.h>

/usr/src/linux-2.4.21-32.0.1.EL/include/linux/list.h ,line 6:
    #include <linux/prefetch.h>

/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h, line 12:
    #include <linux/list.h>

3w-xxxx.c, line 172:
    #include <linux/module.h>

Any ideia about the kernel compiling erros?

(If I try to recompile a kernel.org kernel, it is compiled fine).

Thanks again.

Márcio.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-23 23:16                   ` Márcio Oliveira
@ 2005-07-24 18:54                     ` Neil Horman
  2005-07-25  1:40                       ` Márcio Oliveira
  0 siblings, 1 reply; 18+ messages in thread
From: Neil Horman @ 2005-07-24 18:54 UTC (permalink / raw)
  To: Márcio Oliveira; +Cc: nhorman, rheflin, arjanv, linux-kernel

On Sat, Jul 23, 2005 at 08:16:20PM -0300, Márcio Oliveira wrote:
> Neil,
> 
> >The best way I can think to do that is take a look at /proc/slabinfo.  
> >That will
> >likely give you a pointer to which area of code is eating up your memory.
> > 
> >
> OK. I will monitor the /proc/slabinfo file.
> 
> >Based on the sysrq-m info you posted it looks like due to fragmentation the
> >largest chunk of memory you can allocate is 2MB (perhaps less depending on
> >address space availability).  If you can build a test kernel to do a 
> >show_state
> >rather than a show_mem at the beginning of oom_kil, then you should be 
> >able to
> >tell who is trying to do an allocation that leads to kswapd calling
> >out_of_memory.
> > 
> >
> Neil, I'm trying to recompile the kernel source 2.4.21-32.0.1 and get 
> some error messages:
> 
> In file included from 
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/prefetch.h:13,
>                 from 
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/list.h:6,
>                 from 
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:12,
>                 from 3w-xxxx.c:172:
> /usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:61: warning: 
> parameter names (without types) in function declaration
> /usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:61: field 
> `loops_per_jiffy_R_ver_str' declared as a function
> /usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: invalid 
> suffix on integer constant
> /usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: syntax error 
> before numeric constant
> /usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: warning: 
> function declaration isn't a prototype
> /usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: invalid 
> suffix on integer constant
> /usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: syntax 
> error before numeric constant
> /usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: warning: 
> function declaration isn't a prototype
> /usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:273: warning: 
> parameter names (without types) in function declaration
> In file included from 3w-xxxx.c:172:
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: invalid 
> suffix on integer constant
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: syntax error 
> before numeric constant
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: 
> `inter_module_register_R_ver_str' declared as function returning a function
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: warning: 
> function declaration isn't a prototype
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: invalid 
> suffix on integer constant
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: syntax error 
> before numeric constant
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: 
> `inter_module_unregister_R_ver_str' declared as function returning a 
> function
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: warning: 
> function declaration isn't a prototype
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:192: 
> `inter_module_get_R_ver_str' declared as function returning a function
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:192: warning: 
> parameter names (without types) in function declaration
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:193: 
> `inter_module_get_request_R_ver_str' declared as function returning a 
> function
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:193: warning: 
> parameter names (without types) in function declaration
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: invalid 
> suffix on integer constant
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: syntax error 
> before numeric constant
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: 
> `inter_module_put_R_ver_str' declared as function returning a function
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: warning: 
> function declaration isn't a prototype
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:203: 
> `try_inc_mod_count_R_ver_str' declared as function returning a function
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:203: warning: 
> parameter names (without types) in function declaration
> make[3]: *** [3w-xxxx_10200033.o] Error 1
> make[3]: Leaving directory 
> `/usr/src/linux-2.4.21-32.0.1.EL/drivers/addon/3w-xxxx_10200033'
> make[2]: *** [_modsubdir_3w-xxxx_10200033] Error 2
> make[2]: Leaving directory `/usr/src/linux-2.4.21-32.0.1.EL/drivers/addon'
> make[1]: *** [_modsubdir_addon] Error 2
> make[1]: Leaving directory `/usr/src/linux-2.4.21-32.0.1.EL/drivers'
> make: *** [_mod_drivers] Error 2
> 
> Is there any relationship between the sysrq-m changes to do show_state() 
> rather than a show_mem() and the compiling erros?
> 
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/prefetch.h, line 13:
>    #include <asm/processor.h>
> 
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/list.h ,line 6:
>    #include <linux/prefetch.h>
> 
> /usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h, line 12:
>    #include <linux/list.h>
> 
> 3w-xxxx.c, line 172:
>    #include <linux/module.h>
> 
> Any ideia about the kernel compiling erros?
> 
> (If I try to recompile a kernel.org kernel, it is compiled fine).
> 
> Thanks again.
> 
> Márcio.
> 
I honestly don't know.  I expect you haven't patched something correctly, have
you built the source tree with rpmbuild, or are you just extracting the tar file
from the rpm?
Neil

-- 
/***************************************************
 *Neil Horman
 *Software Engineer
 *Red Hat, Inc.
 *nhorman@redhat.com
 *gpg keyid: 1024D / 0x92A74FA1
 *http://pgp.mit.edu
 ***************************************************/

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-24 18:54                     ` Neil Horman
@ 2005-07-25  1:40                       ` Márcio Oliveira
  2005-07-25  9:47                         ` Seiji Kihara
  2005-07-25 14:30                         ` Neil Horman
  0 siblings, 2 replies; 18+ messages in thread
From: Márcio Oliveira @ 2005-07-25  1:40 UTC (permalink / raw)
  To: Neil Horman; +Cc: rheflin, arjanv, linux-kernel

Neil Horman wrote:

>On Sat, Jul 23, 2005 at 08:16:20PM -0300, Márcio Oliveira wrote:
>  
>
>>Neil,
>>
>>    
>>
>>>The best way I can think to do that is take a look at /proc/slabinfo.  
>>>That will
>>>likely give you a pointer to which area of code is eating up your memory.
>>>
>>>
>>>      
>>>
>>OK. I will monitor the /proc/slabinfo file.
>>
>>    
>>
>>>Based on the sysrq-m info you posted it looks like due to fragmentation the
>>>largest chunk of memory you can allocate is 2MB (perhaps less depending on
>>>address space availability).  If you can build a test kernel to do a 
>>>show_state
>>>rather than a show_mem at the beginning of oom_kil, then you should be 
>>>able to
>>>tell who is trying to do an allocation that leads to kswapd calling
>>>out_of_memory.
>>>
>>>
>>>      
>>>
>>Neil, I'm trying to recompile the kernel source 2.4.21-32.0.1 and get 
>>some error messages:
>>
>>In file included from 
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/prefetch.h:13,
>>                from 
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/list.h:6,
>>                from 
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:12,
>>                from 3w-xxxx.c:172:
>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:61: warning: 
>>parameter names (without types) in function declaration
>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:61: field 
>>`loops_per_jiffy_R_ver_str' declared as a function
>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: invalid 
>>suffix on integer constant
>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: syntax error 
>>before numeric constant
>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: warning: 
>>function declaration isn't a prototype
>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: invalid 
>>suffix on integer constant
>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: syntax 
>>error before numeric constant
>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: warning: 
>>function declaration isn't a prototype
>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:273: warning: 
>>parameter names (without types) in function declaration
>>In file included from 3w-xxxx.c:172:
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: invalid 
>>suffix on integer constant
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: syntax error 
>>before numeric constant
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: 
>>`inter_module_register_R_ver_str' declared as function returning a function
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: warning: 
>>function declaration isn't a prototype
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: invalid 
>>suffix on integer constant
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: syntax error 
>>before numeric constant
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: 
>>`inter_module_unregister_R_ver_str' declared as function returning a 
>>function
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: warning: 
>>function declaration isn't a prototype
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:192: 
>>`inter_module_get_R_ver_str' declared as function returning a function
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:192: warning: 
>>parameter names (without types) in function declaration
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:193: 
>>`inter_module_get_request_R_ver_str' declared as function returning a 
>>function
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:193: warning: 
>>parameter names (without types) in function declaration
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: invalid 
>>suffix on integer constant
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: syntax error 
>>before numeric constant
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: 
>>`inter_module_put_R_ver_str' declared as function returning a function
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: warning: 
>>function declaration isn't a prototype
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:203: 
>>`try_inc_mod_count_R_ver_str' declared as function returning a function
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:203: warning: 
>>parameter names (without types) in function declaration
>>make[3]: *** [3w-xxxx_10200033.o] Error 1
>>make[3]: Leaving directory 
>>`/usr/src/linux-2.4.21-32.0.1.EL/drivers/addon/3w-xxxx_10200033'
>>make[2]: *** [_modsubdir_3w-xxxx_10200033] Error 2
>>make[2]: Leaving directory `/usr/src/linux-2.4.21-32.0.1.EL/drivers/addon'
>>make[1]: *** [_modsubdir_addon] Error 2
>>make[1]: Leaving directory `/usr/src/linux-2.4.21-32.0.1.EL/drivers'
>>make: *** [_mod_drivers] Error 2
>>
>>Is there any relationship between the sysrq-m changes to do show_state() 
>>rather than a show_mem() and the compiling erros?
>>
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/prefetch.h, line 13:
>>   #include <asm/processor.h>
>>
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/list.h ,line 6:
>>   #include <linux/prefetch.h>
>>
>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h, line 12:
>>   #include <linux/list.h>
>>
>>3w-xxxx.c, line 172:
>>   #include <linux/module.h>
>>
>>Any ideia about the kernel compiling erros?
>>
>>(If I try to recompile a kernel.org kernel, it is compiled fine).
>>
>>Thanks again.
>>
>>Márcio.
>>
>>    
>>
>I honestly don't know.  I expect you haven't patched something correctly, have
>you built the source tree with rpmbuild, or are you just extracting the tar file
>from the rpm?
>Neil
>
>  
>
     I'm using the kernel-source package and trying to compiling the 
source (in /usr/src/linux-2.4 directory) with "make config", "make dep", 
"make clean", "make bzImage", "make modules" and "make 
modules_install".  I also try to compile a RHEL3 kernel-source without 
the sysrq-m changes on other RHEL3 systems and get the same errors...

    If I try to compile a kernel source provide by kernel.org, I don't 
get the errors above, and the kernel compile works. When I try to 
compile the RHEL3 kernel-source, the "make config", "make dep", "make 
clean" and "make bzImage" commands works fine but when I run "make 
modules" command I get the errors above. I think that is some issue with 
the RHEL3 kernel-source package because other kernel sources (not Red 
Hat kernel) compile without problems.

   I will try to compile the kernel using rpmbuild and check the 
results, plus the slabinfo informations.

Thanks again,

Márcio.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-25  1:40                       ` Márcio Oliveira
@ 2005-07-25  9:47                         ` Seiji Kihara
  2005-07-25 14:30                         ` Neil Horman
  1 sibling, 0 replies; 18+ messages in thread
From: Seiji Kihara @ 2005-07-25  9:47 UTC (permalink / raw)
  To: Márcio Oliveira; +Cc: Neil Horman, rheflin, arjanv, linux-kernel

Hello,

At Sun, 24 Jul 2005 22:40:19 -0300,
Márcio Oliveira wrote:
>      I'm using the kernel-source package and trying to compiling the 
> source (in /usr/src/linux-2.4 directory) with "make config", "make dep", 
> "make clean", "make bzImage", "make modules" and "make 
> modules_install".  I also try to compile a RHEL3 kernel-source without 
> the sysrq-m changes on other RHEL3 systems and get the same errors...

I wonder if the topic is suitable for the list...  Anyway, I think
"make mrproper" is required before "make config" for the Red Hat
kernel-source package.  The reason may be described in

http://people.redhat.com/dledford/README.mod_devel_kit_theory.html

Regards,

Seiji Kihara
NTT Laboratories, Japan

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-25  1:40                       ` Márcio Oliveira
  2005-07-25  9:47                         ` Seiji Kihara
@ 2005-07-25 14:30                         ` Neil Horman
  2005-07-25 17:04                           ` Márcio Oliveira
  1 sibling, 1 reply; 18+ messages in thread
From: Neil Horman @ 2005-07-25 14:30 UTC (permalink / raw)
  To: Márcio Oliveira; +Cc: Neil Horman, rheflin, arjanv, linux-kernel

On Sun, Jul 24, 2005 at 10:40:19PM -0300, Márcio Oliveira wrote:
> Neil Horman wrote:
> 
> >On Sat, Jul 23, 2005 at 08:16:20PM -0300, Márcio Oliveira wrote:
> > 
> >
> >>Neil,
> >>
> >>   
> >>
> >>>The best way I can think to do that is take a look at /proc/slabinfo.  
> >>>That will
> >>>likely give you a pointer to which area of code is eating up your memory.
> >>>
> >>>
> >>>     
> >>>
> >>OK. I will monitor the /proc/slabinfo file.
> >>
> >>   
> >>
> >>>Based on the sysrq-m info you posted it looks like due to fragmentation 
> >>>the
> >>>largest chunk of memory you can allocate is 2MB (perhaps less depending 
> >>>on
> >>>address space availability).  If you can build a test kernel to do a 
> >>>show_state
> >>>rather than a show_mem at the beginning of oom_kil, then you should be 
> >>>able to
> >>>tell who is trying to do an allocation that leads to kswapd calling
> >>>out_of_memory.
> >>>
> >>>
> >>>     
> >>>
> >>Neil, I'm trying to recompile the kernel source 2.4.21-32.0.1 and get 
> >>some error messages:
> >>
> >>In file included from 
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/prefetch.h:13,
> >>               from 
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/list.h:6,
> >>               from 
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:12,
> >>               from 3w-xxxx.c:172:
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:61: warning: 
> >>parameter names (without types) in function declaration
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:61: field 
> >>`loops_per_jiffy_R_ver_str' declared as a function
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: invalid 
> >>suffix on integer constant
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: syntax error 
> >>before numeric constant
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: warning: 
> >>function declaration isn't a prototype
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: invalid 
> >>suffix on integer constant
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: syntax 
> >>error before numeric constant
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: warning: 
> >>function declaration isn't a prototype
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:273: warning: 
> >>parameter names (without types) in function declaration
> >>In file included from 3w-xxxx.c:172:
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: invalid 
> >>suffix on integer constant
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: syntax error 
> >>before numeric constant
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: 
> >>`inter_module_register_R_ver_str' declared as function returning a 
> >>function
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: warning: 
> >>function declaration isn't a prototype
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: invalid 
> >>suffix on integer constant
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: syntax error 
> >>before numeric constant
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: 
> >>`inter_module_unregister_R_ver_str' declared as function returning a 
> >>function
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: warning: 
> >>function declaration isn't a prototype
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:192: 
> >>`inter_module_get_R_ver_str' declared as function returning a function
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:192: warning: 
> >>parameter names (without types) in function declaration
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:193: 
> >>`inter_module_get_request_R_ver_str' declared as function returning a 
> >>function
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:193: warning: 
> >>parameter names (without types) in function declaration
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: invalid 
> >>suffix on integer constant
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: syntax error 
> >>before numeric constant
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: 
> >>`inter_module_put_R_ver_str' declared as function returning a function
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: warning: 
> >>function declaration isn't a prototype
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:203: 
> >>`try_inc_mod_count_R_ver_str' declared as function returning a function
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:203: warning: 
> >>parameter names (without types) in function declaration
> >>make[3]: *** [3w-xxxx_10200033.o] Error 1
> >>make[3]: Leaving directory 
> >>`/usr/src/linux-2.4.21-32.0.1.EL/drivers/addon/3w-xxxx_10200033'
> >>make[2]: *** [_modsubdir_3w-xxxx_10200033] Error 2
> >>make[2]: Leaving directory `/usr/src/linux-2.4.21-32.0.1.EL/drivers/addon'
> >>make[1]: *** [_modsubdir_addon] Error 2
> >>make[1]: Leaving directory `/usr/src/linux-2.4.21-32.0.1.EL/drivers'
> >>make: *** [_mod_drivers] Error 2
> >>
> >>Is there any relationship between the sysrq-m changes to do show_state() 
> >>rather than a show_mem() and the compiling erros?
> >>
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/prefetch.h, line 13:
> >>  #include <asm/processor.h>
> >>
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/list.h ,line 6:
> >>  #include <linux/prefetch.h>
> >>
> >>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h, line 12:
> >>  #include <linux/list.h>
> >>
> >>3w-xxxx.c, line 172:
> >>  #include <linux/module.h>
> >>
> >>Any ideia about the kernel compiling erros?
> >>
> >>(If I try to recompile a kernel.org kernel, it is compiled fine).
> >>
> >>Thanks again.
> >>
> >>Márcio.
> >>
> >>   
> >>
> >I honestly don't know.  I expect you haven't patched something correctly, 
> >have
> >you built the source tree with rpmbuild, or are you just extracting the 
> >tar file
> >from the rpm?
> >Neil
> >
> > 
> >
I honestly have no idea.  Suffice it to say, I never build out of the
kernel-source package.  Better to use the kernel src rpm, do an rpmbuild -bp on
the kernel src rpm, setting your target arch accordingly.  I have no problems
with that on any RHEL kernels.
Neil

>     I'm using the kernel-source package and trying to compiling the 
> source (in /usr/src/linux-2.4 directory) with "make config", "make dep", 
> "make clean", "make bzImage", "make modules" and "make 
> modules_install".  I also try to compile a RHEL3 kernel-source without 
> the sysrq-m changes on other RHEL3 systems and get the same errors...
> 
>    If I try to compile a kernel source provide by kernel.org, I don't 
> get the errors above, and the kernel compile works. When I try to 
> compile the RHEL3 kernel-source, the "make config", "make dep", "make 
> clean" and "make bzImage" commands works fine but when I run "make 
> modules" command I get the errors above. I think that is some issue with 
> the RHEL3 kernel-source package because other kernel sources (not Red 
> Hat kernel) compile without problems.
> 
>   I will try to compile the kernel using rpmbuild and check the 
> results, plus the slabinfo informations.
> 
> Thanks again,
> 
> Márcio.

-- 
/***************************************************
 *Neil Horman
 *Software Engineer
 *Red Hat, Inc.
 *nhorman@redhat.com
 *gpg keyid: 1024D / 0x92A74FA1
 *http://pgp.mit.edu
 ***************************************************/

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Memory Management
  2005-07-25 14:30                         ` Neil Horman
@ 2005-07-25 17:04                           ` Márcio Oliveira
  0 siblings, 0 replies; 18+ messages in thread
From: Márcio Oliveira @ 2005-07-25 17:04 UTC (permalink / raw)
  To: Neil Horman; +Cc: rheflin, arjanv, linux-kernel


Neil Horman wrote:

>On Sun, Jul 24, 2005 at 10:40:19PM -0300, Márcio Oliveira wrote:
>  
>
>>Neil Horman wrote:
>>
>>    
>>
>>>On Sat, Jul 23, 2005 at 08:16:20PM -0300, Márcio Oliveira wrote:
>>>
>>>
>>>      
>>>
>>>>Neil,
>>>>
>>>>  
>>>>
>>>>        
>>>>
>>>>>The best way I can think to do that is take a look at /proc/slabinfo.  
>>>>>That will
>>>>>likely give you a pointer to which area of code is eating up your memory.
>>>>>
>>>>>
>>>>>    
>>>>>
>>>>>          
>>>>>
>>>>OK. I will monitor the /proc/slabinfo file.
>>>>
>>>>  
>>>>
>>>>        
>>>>
>>>>>Based on the sysrq-m info you posted it looks like due to fragmentation 
>>>>>the
>>>>>largest chunk of memory you can allocate is 2MB (perhaps less depending 
>>>>>on
>>>>>address space availability).  If you can build a test kernel to do a 
>>>>>show_state
>>>>>rather than a show_mem at the beginning of oom_kil, then you should be 
>>>>>able to
>>>>>tell who is trying to do an allocation that leads to kswapd calling
>>>>>out_of_memory.
>>>>>
>>>>>
>>>>>    
>>>>>
>>>>>          
>>>>>
>>>>Neil, I'm trying to recompile the kernel source 2.4.21-32.0.1 and get 
>>>>some error messages:
>>>>
>>>>In file included from 
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/prefetch.h:13,
>>>>              from 
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/list.h:6,
>>>>              from 
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:12,
>>>>              from 3w-xxxx.c:172:
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:61: warning: 
>>>>parameter names (without types) in function declaration
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:61: field 
>>>>`loops_per_jiffy_R_ver_str' declared as a function
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: invalid 
>>>>suffix on integer constant
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: syntax error 
>>>>before numeric constant
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:84: warning: 
>>>>function declaration isn't a prototype
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: invalid 
>>>>suffix on integer constant
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: syntax 
>>>>error before numeric constant
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:269: warning: 
>>>>function declaration isn't a prototype
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/asm/processor.h:273: warning: 
>>>>parameter names (without types) in function declaration
>>>>In file included from 3w-xxxx.c:172:
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: invalid 
>>>>suffix on integer constant
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: syntax error 
>>>>before numeric constant
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: 
>>>>`inter_module_register_R_ver_str' declared as function returning a 
>>>>function
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:190: warning: 
>>>>function declaration isn't a prototype
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: invalid 
>>>>suffix on integer constant
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: syntax error 
>>>>before numeric constant
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: 
>>>>`inter_module_unregister_R_ver_str' declared as function returning a 
>>>>function
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:191: warning: 
>>>>function declaration isn't a prototype
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:192: 
>>>>`inter_module_get_R_ver_str' declared as function returning a function
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:192: warning: 
>>>>parameter names (without types) in function declaration
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:193: 
>>>>`inter_module_get_request_R_ver_str' declared as function returning a 
>>>>function
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:193: warning: 
>>>>parameter names (without types) in function declaration
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: invalid 
>>>>suffix on integer constant
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: syntax error 
>>>>before numeric constant
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: 
>>>>`inter_module_put_R_ver_str' declared as function returning a function
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:194: warning: 
>>>>function declaration isn't a prototype
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:203: 
>>>>`try_inc_mod_count_R_ver_str' declared as function returning a function
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h:203: warning: 
>>>>parameter names (without types) in function declaration
>>>>make[3]: *** [3w-xxxx_10200033.o] Error 1
>>>>make[3]: Leaving directory 
>>>>`/usr/src/linux-2.4.21-32.0.1.EL/drivers/addon/3w-xxxx_10200033'
>>>>make[2]: *** [_modsubdir_3w-xxxx_10200033] Error 2
>>>>make[2]: Leaving directory `/usr/src/linux-2.4.21-32.0.1.EL/drivers/addon'
>>>>make[1]: *** [_modsubdir_addon] Error 2
>>>>make[1]: Leaving directory `/usr/src/linux-2.4.21-32.0.1.EL/drivers'
>>>>make: *** [_mod_drivers] Error 2
>>>>
>>>>Is there any relationship between the sysrq-m changes to do show_state() 
>>>>rather than a show_mem() and the compiling erros?
>>>>
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/prefetch.h, line 13:
>>>> #include <asm/processor.h>
>>>>
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/list.h ,line 6:
>>>> #include <linux/prefetch.h>
>>>>
>>>>/usr/src/linux-2.4.21-32.0.1.EL/include/linux/module.h, line 12:
>>>> #include <linux/list.h>
>>>>
>>>>3w-xxxx.c, line 172:
>>>> #include <linux/module.h>
>>>>
>>>>Any ideia about the kernel compiling erros?
>>>>
>>>>(If I try to recompile a kernel.org kernel, it is compiled fine).
>>>>
>>>>Thanks again.
>>>>
>>>>Márcio.
>>>>
>>>>  
>>>>
>>>>        
>>>>
>>>I honestly don't know.  I expect you haven't patched something correctly, 
>>>have
>>>you built the source tree with rpmbuild, or are you just extracting the 
>>>tar file
>>>      
>>>
>>>from the rpm?
>>    
>>
>>>Neil
>>>
>>>
>>>
>>>      
>>>
>I honestly have no idea.  Suffice it to say, I never build out of the
>kernel-source package.  Better to use the kernel src rpm, do an rpmbuild -bp on
>the kernel src rpm, setting your target arch accordingly.  I have no problems
>with that on any RHEL kernels.
>Neil
>
>  
>
>>    I'm using the kernel-source package and trying to compiling the 
>>source (in /usr/src/linux-2.4 directory) with "make config", "make dep", 
>>"make clean", "make bzImage", "make modules" and "make 
>>modules_install".  I also try to compile a RHEL3 kernel-source without 
>>the sysrq-m changes on other RHEL3 systems and get the same errors...
>>
>>   If I try to compile a kernel source provide by kernel.org, I don't 
>>get the errors above, and the kernel compile works. When I try to 
>>compile the RHEL3 kernel-source, the "make config", "make dep", "make 
>>clean" and "make bzImage" commands works fine but when I run "make 
>>modules" command I get the errors above. I think that is some issue with 
>>the RHEL3 kernel-source package because other kernel sources (not Red 
>>Hat kernel) compile without problems.
>>
>>  I will try to compile the kernel using rpmbuild and check the 
>>results, plus the slabinfo informations.
>>
>>Thanks again,
>>
>>Márcio.
>>    
>>
>
>  
>
Neil,

  Can I increase the number of pages in Zone_NORMAL using RHEL 3 
hugemem kernel?

Thanks.

Márcio.


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2005-07-25 17:02 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-21 12:34 Memory Management Márcio Oliveira
2005-07-21 13:11 ` Neil Horman
2005-07-21 13:40   ` Márcio Oliveira
2005-07-22 14:02     ` Neil Horman
2005-07-22 14:32       ` Márcio Oliveira
2005-07-22 19:08         ` Neil Horman
2005-07-22 19:41           ` Márcio Oliveira
2005-07-22 20:58             ` Roger Heflin
2005-07-22 23:23               ` Márcio Oliveira
2005-07-23 18:45                 ` Neil Horman
2005-07-23 23:16                   ` Márcio Oliveira
2005-07-24 18:54                     ` Neil Horman
2005-07-25  1:40                       ` Márcio Oliveira
2005-07-25  9:47                         ` Seiji Kihara
2005-07-25 14:30                         ` Neil Horman
2005-07-25 17:04                           ` Márcio Oliveira
  -- strict thread matches above, loose matches on Subject: below --
2005-07-20 13:10 Memoy Management Márcio Oliveira
2005-07-20 13:24 ` Arjan van de Ven
2005-07-20 14:23   ` Memory Management Márcio Oliveira
2005-07-20 14:37     ` Arjan van de Ven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox