Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

kmalloc_array(9) [centos man page]

KMALLOC_ARRAY(9)					    Memory Management in Linux						  KMALLOC_ARRAY(9)

kmalloc_array - allocate memory for an array. SYNOPSIS
void * kmalloc_array(size_t n, size_t size, gfp_t flags); ARGUMENTS
n number of elements. size element size. flags the type of memory to allocate. DESCRIPTION
The flags argument may be one of: GFP_USER - Allocate memory on behalf of user. May sleep. GFP_KERNEL - Allocate normal kernel ram. May sleep. GFP_ATOMIC - Allocation will not sleep. May use emergency pools. For example, use this inside interrupt handlers. GFP_HIGHUSER - Allocate pages from high memory. GFP_NOIO - Do not do any I/O at all while trying to get memory. GFP_NOFS - Do not make any fs calls while trying to get memory. GFP_NOWAIT - Allocation will not sleep. __GFP_THISNODE - Allocate node-local memory only. GFP_DMA - Allocation suitable for DMA. Should only be used for kmalloc caches. Otherwise, use a slab created with SLAB_DMA. Also it is possible to set different flags by OR'ing in one or more of the following additional flags: __GFP_COLD - Request cache-cold pages instead of trying to return cache-warm pages. __GFP_HIGH - This allocation has high priority and may use emergency pools. __GFP_NOFAIL - Indicate that this allocation is in no way allowed to fail (think twice before using). __GFP_NORETRY - If memory is not immediately available, then give up at once. __GFP_NOWARN - If allocation fails, don't issue any warnings. __GFP_REPEAT - If allocation fails initially, try once more before failing. There are other flags available as well, but these are not intended for general use, and so are not documented here. For a full list of potential flags, always refer to linux/gfp.h. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 KMALLOC_ARRAY(9)

Check Out this Related Man Page

KMEM_CACHE_CREATE(9)					    Memory Management in Linux					      KMEM_CACHE_CREATE(9)

kmem_cache_create - Create a cache. SYNOPSIS
struct kmem_cache * kmem_cache_create(const char * name, size_t size, size_t align, unsigned long flags, void (*ctor) (void *)); ARGUMENTS
name A string which is used in /proc/slabinfo to identify this cache. size The size of objects to be created in this cache. align The required alignment for the objects. flags SLAB flags ctor A constructor for the objects. DESCRIPTION
Returns a ptr to the cache on success, NULL on failure. Cannot be called within a int, but can be interrupted. The ctor is run when new pages are allocated by the cache. name must be valid until the cache is destroyed. This implies that the module calling this has to destroy the cache before getting unloaded. Note that kmem_cache_name is not guaranteed to return the same pointer, therefore applications must manage it themselves. The flags are SLAB_POISON - Poison the slab with a known test pattern (a5a5a5a5) to catch references to uninitialised memory. SLAB_RED_ZONE - Insert `Red' zones around the allocated memory to check for buffer overruns. SLAB_HWCACHE_ALIGN - Align the objects in this cache to a hardware cacheline. This can be beneficial if you're counting cycles as closely as davem. COPYRIGHT
Kernel Hackers Manual 2.6. July 2010 KMEM_CACHE_CREATE(9)
Man Page

15 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

memory allocation

I would like to know how I could allocate some more memory to a process. Please note that I am not the root user. (1 Reply)
Discussion started by: sagar
1 Replies

2. UNIX for Advanced & Expert Users

vm and buffer cache

i have a serious doubht about the assignment of memory in hp-ux system . i read from somewhere that the page allocation in hp-ux is not unified unlike compaq . i wanted to know in hp-ux kernel ,once the pages are assigned for the univarsal buffer cache... (2 Replies)
Discussion started by: vish_shan
2 Replies

3. UNIX for Dummies Questions & Answers

Memory loading with RedHat 7.2

I am using Redhat 7.2. I have 1gb of ram. When I use applications, it seems like the memory used keeps adding up even after I stop the applications. When I reboot, I use around 256mb of ram, then after I use some apps, it piles up to about 750mb of ram used. I look at all active processes with ps... (2 Replies)
Discussion started by: jeremiebarber
2 Replies

4. Programming

How to handle memory error?

Hi, I need to know what is the right way of handling out of memory conditions. If a program is not able to dynamically allocate memory (new fails), is it right to wait for some amount of time (say 5 sec) and then try again to allocate memory? Or should we kill the process and again restart it?... (1 Reply)
Discussion started by: diganta
1 Replies

5. UNIX for Dummies Questions & Answers

High use of cache memory

Hi, I'm running a debian lenny 1GB ram, but with a high I/O. This server has 400IOPS and 3MB/s sustain. So, I noted cached memory use 800MB, buffered memory use 50MB, and no free memory is available. Questions: What does mean such a high cached memory? Who's using this cached memory? Is... (3 Replies)
Discussion started by: iga3725
3 Replies

6. Programming

Memory allocation in C

Hi Experts I need some help in static memory allocation in C. I have a program in which I declared 2 variables, one char array and one integer. I was little surprised to see the addresses of the variables. First: int x; char a; printf("%u %u\n', &x, a); I got the addresses displayed... (2 Replies)
Discussion started by: unx_freak
2 Replies

7. UNIX for Advanced & Expert Users

Memory usage shown is high

Hello all, I am facing a memory related issue on my linux that is CentOS 4.0. What I see as an output of top command, free command is that memory usage is almost 90% which is quite high without much load on the system. This is continuously showing 90% or so of memory usage with top or free... (2 Replies)
Discussion started by: radiatejava
2 Replies

8. Programming

Dynamic Memory Allocation

Hello Guys I have a small confusion in the dynamic memory allocation concept. If we declare a pointer say a char pointer, we need to allocate adequate memory space. char* str = (char*)malloc(20*sizeof(char)); str = "This is a string"; But this will also work. char* str = "This... (2 Replies)
Discussion started by: tene
2 Replies

9. AIX

AIX memory usage always high

hi, I want to ask , my AIX 6.1 is always used about 97% memory. Is this normal ? or any command can free up memory like Linux ? thanks. (1 Reply)
Discussion started by: virusxx
1 Replies

10. Programming

Memory Allocation Query

When we dynamically allocate the memory say 100 integers say int *x = new int(1000); then does entire chunk of memory gets allocated at once after the completion of the statement? I mean will the the concept of page fault come into picture over here? (3 Replies)
Discussion started by: rupeshkp728
3 Replies

11. Red Hat

Memory Issue

I could not find what is consuming the memory, generated DSET reports and NO hardware wise memory issue. 64 GB RAM on a server yet all I could see is a very limited memory available. I am not sure if I am reading this correct or not. I have used free -t -m and cat /proc/meminfo (results below)... (3 Replies)
Discussion started by: rsheikh01
3 Replies

12. Linux

How does the Operating System handle memory?

Hey everyone. Ok, so I know that from inside of any particular program, it see's through virtualized memory, a full range of available memory. It is given the ability then to place variables, data, user input etc, on the Stack, Heap, BSS, or Code segment of it's range. My question is what does the... (5 Replies)
Discussion started by: Lost in Cyberia
5 Replies

13. HP-UX

HP-UX server showing high memory utilization

Hi All, I am using HP-UX 11i v1(B11.11) servers for my work and its memory (RAM) utilization is consistenly 80% for the last one year. Though I am not facing any issues with this high memory utilization I just want to know the below queries: 1) Is it the default behavior of HP-UX systems? 2)... (20 Replies)
Discussion started by: ssk250
20 Replies

14. Programming

Memory allocation for particular process in UNIX

I want to run a C program on my linux machine. I want to allocate specific heap size for that process (C program) to run. How can I do that? I know in Java same can be done using -Xmx option. There may be some option which I can specify in the C program like Java or may be in linux process. (8 Replies)
Discussion started by: Ankur Goyal
8 Replies

15. Red Hat

%memused is high

All I see cpu and memory usage are under control, only cache gets high upto 99% using sar -r command I did echo3 and cleaned the drop caches do we need to monitor this , why my application going high upto 99.8% memused in sar command , this is cache memory which is going high will this... (12 Replies)
Discussion started by: anil529
12 Replies

Featured Tech Videos