Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Interpreting Linux's free command output Post 303010976 by drysdalk on Thursday 11th of January 2018 08:56:15 AM
Old 01-11-2018
Hello,

I would imagine that under normal circumstances the kernel would choose to allocate memory from the free pool first, before flushing out buffers, cache or anything else. It all depends precisely on what kind of memory the process is wanting to allocate and for what purpose, but in general memory which is totally unused would be used up first, and then when free memory fell below a certain threshold the system would most likely become more aggressive about freeing up cached memory for actual use by running processes.

In either case, so long as memory is available, a process will be able to use it, so where exactly it comes from is normally not something you need to worry about or consider. If a process needs memory and it's available by one means or another, the system will allocate it.
This User Gave Thanks to drysdalk For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to Use the Free Command in Linux

I know that free command displays memory usages however I like to know how the option and the results when I use this command.. PLease respond ASAP thanx... I am a newbie.. :D (1 Reply)
Discussion started by: LiTo
1 Replies

2. UNIX for Dummies Questions & Answers

Interpreting java output stream as system commands in Solaris

Hi there again, Running Solaris 10 with built-in Java. Seems to compile and run fine. Problem is: Say I want to see contents of current directory. In a shell, I'd just write "ls" and it outputs the content. When I write a Java file, I have the following line: System.out.println("ls"); ... (1 Reply)
Discussion started by: EugeneG
1 Replies

3. Shell Programming and Scripting

Interpreting Logicals/Environment Variables using the read command

Hi All I have something that from the outset seems really trivial but in practice is not quite working. I have the following code sample in my shell script which illustrates the problem echo "enter home directory" read home mkdir $home/newdir The user then enters a logical $HOME... (3 Replies)
Discussion started by: kingpin2502
3 Replies

4. UNIX for Dummies Questions & Answers

interpreting netstat output

hi all, when I run- wcars1j5#netstat -an | grep 8090 127.0.0.1.8090 *.* 0 0 49152 0 LISTEN wcars1j5# 1. does this mean that no one is connected to this port? Regards, akash (1 Reply)
Discussion started by: akash_mahakode
1 Replies

5. UNIX for Dummies Questions & Answers

Interpreting prtdiag output - 2 or 4 CPUs?

I am having trouble figuring this one out.....Is this a 2CPU or a 4CPU v490 with 16GB? I think it is a 2CPU system, looking for confirmation. $ prtdiag System Configuration: Sun Microsystems sun4u Sun Fire V490 System clock frequency: 150 MHz Memory size: 16384 Megabytes ... (1 Reply)
Discussion started by: config_boy
1 Replies

6. UNIX for Advanced & Expert Users

Output of Free command in unix?

Hello, I need some help to interpret the below output... What is -/+ buffers/cache? My understanding is, total RAM is 3986152 Bytes, used RAM is 3950904 bytes. What is buffers and cached?? Can any one please interpret this output? It would be great help if some one can help me on this? ... (2 Replies)
Discussion started by: govindts
2 Replies

7. Red Hat

Understand output of "free" command

Hi Friends, I am really confused with the output of "free" command on redhat linux. I can see caching and buffer output on two different areas on the output. Please let me know whats the difference of these two different outputs. Here I am pasting the command output of my server. # free... (3 Replies)
Discussion started by: arumon
3 Replies

8. Solaris

Interpreting xntpdc output.

Hi. I wonder what the equal sign in front of the answer means. I have read man pages and googled but found no answer. xntpdc -p =15.5.64.3 15.5.2.51 3 512 377 0.02060 0.057426 0.04965Thanks. Jan (1 Reply)
Discussion started by: vettec3
1 Replies

9. Shell Programming and Scripting

Linux command to output from a string

Hi All, I have a file with name Is there a LINUX command that will help me to output the word after the 9th Underscore(_). ie the output should be DLY in this case. Can anybody pls help me. Thanks much in advance, Freddie (4 Replies)
Discussion started by: dsfreddie
4 Replies

10. Red Hat

Concept of free –m command in Linux

I wanted to know the concept of free -m command as there are different rows of Mem, -/+ buffers/cache & Swap in the output. As an example, it is showing 195 as free Mem in my server but 13850 in the free section of the -/+ buffers/cache row. The output needs in depth knowledge of the different... (7 Replies)
Discussion started by: RHCE
7 Replies
ddi_umem_alloc(9F)					   Kernel Functions for Drivers 					ddi_umem_alloc(9F)

NAME
ddi_umem_alloc, ddi_umem_free - allocate and free page-aligned kernel memory SYNOPSIS
#include <sys/types.h> #include <sys/sunddi.h> void *ddi_umem_alloc(size_t size, int flag, ddi_umem_cookie_t *cookiep); void ddi_umem_free(ddi_umem_cookie_t cookie); INTERFACE LEVEL
Solaris DDI specific (Solaris DDI). PARAMETERS
ddi_umem_alloc() size Number of bytes to allocate. flag Used to determine the sleep and pageable conditions. Possible sleep flags are DDI_UMEM_SLEEP, which allows sleeping until memory is available, and DDI_UMEM_NOSLEEP, which returns NULL immediately if memory is not available. The default condition is to allocate locked memory; this can be changed to allocate pageable memory using the DDI_UMEM_PAGEABLE flag. cookiep Pointer to a kernel memory cookie. ddi_umem_free() cookie A kernel memory cookie allocated in ddi_umem_alloc(). DESCRIPTION
ddi_umem_alloc() allocates page-aligned kernel memory and returns a pointer to the allocated memory. The number of bytes allocated is a multiple of the system page size (roundup of size). The allocated memory can be used in the kernel and can be exported to user space. See devmap(9E) and devmap_umem_setup(9F) for further information. flag determines whether the caller can sleep for memory and whether the allocated memory is locked or not. DDI_UMEM_SLEEP allocations may sleep but are guaranteed to succeed. DDI_UMEM_NOSLEEP allocations do not sleep but may fail (return NULL) if memory is currently unavail- able. If DDI_UMEM_PAGEABLE is set, pageable memory will be allocated. These pages can be swapped out to secondary memory devices. The ini- tial contents of memory allocated using ddi_umem_alloc() is zero-filled. *cookiep is a pointer to the kernel memory cookie that describes the kernel memory being allocated. A typical use of cookiep is in devmap_umem_setup(9F) when the drivers want to export the kernel memory to a user application. To free the allocated memory, a driver calls ddi_umem_free() with the cookie obtained from ddi_umem_alloc(). ddi_umem_free() releases the entire buffer. RETURN VALUES
Non-null Successful completion. ddi_umem_alloc() returns a pointer to the allocated memory. NULL Memory cannot be allocated by ddi_umem_alloc() because DDI_UMEM_NOSLEEP is set and the system is out of resources. CONTEXT
ddi_umem_alloc() can be called from any context if flag is set to DDI_UMEM_NOSLEEP. If DDI_UMEM_SLEEP is set, ddi_umem_alloc() can be called from user and kernel context only. ddi_umem_free() can be called from any context. SEE ALSO
devmap(9E), condvar(9F), devmap_umem_setup(9F), kmem_alloc(9F), mutex(9F), rwlock(9F), semaphore(9F) Writing Device Drivers WARNINGS
Setting the DDI_UMEM_PAGEABLE flag in ddi_umem_alloc() will result in an allocation of pageable memory. Because these pages can be swapped out to secondary memory devices, drivers should use this flag with care. This memory must not be used for the following purposes: o For synchronization objects such as locks and condition variables. See mutex(9F), semaphore(9F), rwlock(9F), and condvar(9F). o For driver interrupt routines. Memory allocated using ddi_umem_alloc() without setting DDI_UMEM_PAGEABLE flag cannot be paged. Available memory is therefore limited by the total physical memory on the system. It is also limited by the available kernel virtual address space, which is often the more restric- tive constraint on large-memory configurations. Excessive use of kernel memory is likely to effect overall system performance. Over-commitment of kernel memory may cause unpredictable consequences. Misuse of the kernel memory allocator, such as writing past the end of a buffer, using a buffer after freeing it, freeing a buffer twice, or freeing an invalid pointer, will cause the system to corrupt data or panic. Do not call ddi_umem_alloc() within DDI_SUSPEND and DDI_RESUME operations. Memory acquired at these times is not reliable. In some cases, such a call can cause a system to hang. NOTES
ddi_umem_alloc(0, flag, cookiep) always returns NULL. ddi_umem_free(NULL) has no effects on system. SunOS 5.11 19 Mar 2002 ddi_umem_alloc(9F)
All times are GMT -4. The time now is 04:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy