04-11-2011
The "used" number includes the values for buffers and caches, and isn't limited to memory used by applications alone. Buffers are primarily used for communication between processes (using pipes) and network buffers, while the cache is used to keep file contents in the fast-access RAM, instead of reading the much slower disk all the time. Linux tries to use as much memory as possible for buffers and cache in order to speed up processing and making the most of the expensive memory.
To check this, run echo 3 > /proc/sys/vm/drop_caches, which should drop the numbers back to near zero.
9 More Discussions You Might Find Interesting
1. Programming
Hi,
First of all I appreciate this group very much for its informative discussions and posts.
Here is my question.
I have one process whose virtual memory size increases linearly from 6MB to 12MB in 20 minutes. Does that mean my process has memory leaks?
In what cases does the... (4 Replies)
Discussion started by: shriashishpatil
4 Replies
2. UNIX for Advanced & Expert Users
I am running c++ code on AIX unix.I have a doubt that my code is using some memory but it is not clearing that.Some time i am getting heap allocation problem.In my code i am not using any malloc,new functions also i am justing using pointers and arrays.
Is there any way i can find out if the... (2 Replies)
Discussion started by: ukatru
2 Replies
3. UNIX for Advanced & Expert Users
I tried to execute a sample pthread program to cancel a newly created one using pthread_cancel(). but using valgrind on my code shows some memory leak.
My Code:
#include "iostream"
#include "unistd.h"
#include "pthread.h"
#include "signal.h"
using namespace std;
void handler(int);
void*... (4 Replies)
Discussion started by: kcr
4 Replies
4. Programming
I have this code...
#include <stdio.h>
#include <iostream>
#include <pthread.h>
static void* cliente(void *datos);
int main()
{
pthread_attr_t tattr;
int ret;
size_t size = PTHREAD_STACK_MIN + 0x0100;
ret = pthread_attr_init(&tattr);
ret =... (8 Replies)
Discussion started by: JEscola
8 Replies
5. UNIX for Advanced & Expert Users
helo frnds,
I am using RHEL5 and C lang for development.
I am getting some memory leak problem in pthread.
I hav developed a program which creates two threads for listening purpose on two diff ports. both the child threads are doing same job but on diff port no.
I am using... (4 Replies)
Discussion started by: mindTeaser
4 Replies
6. UNIX for Advanced & Expert Users
Hi.
This might be a strange request, but does anyone have any idea on a simple shell script that would use more and more memory as it ran? Like a purposeful leak.
I want to test the behaviour of an already running program when the machine runs out of memory.
Thanks! (4 Replies)
Discussion started by: rebelbuttmunch
4 Replies
7. IP Networking
Hi All,
my client server application can work in two modes:
1) one direction - only client sends msgs to server
2) two directions - server gives 'answers' to client.
when program run in the first mode it looks OK, but when server answers to client than client's application exit its... (2 Replies)
Discussion started by: lenna
2 Replies
8. Programming
Hi,
I am trying a database server which keeps a B+ plus tree structure and works on it.
I am trying to find the memory used/leak while executing this process.
I check the memory leak by using ps uax command.
When i execute a delete query i am sure that my code frees up the existing... (9 Replies)
Discussion started by: kumaran_5555
9 Replies
9. Red Hat
Hi all
I am using RED HAT 5.4, and i am getting memory uses problem. when i use "sync;echo 3 > /proc/sys/vm/drop_cache" command the memory will release after 2,3 hour memory show 95%.
pls suggest right way.
thanks (37 Replies)
Discussion started by: reply.ravi
37 Replies
LEARN ABOUT MOJAVE
libcache
libcache(3) BSD Library Functions Manual libcache(3)
NAME
libcache -- the caching framework
SYNOPSIS
#include <cache.h>
DESCRIPTION
The libcache framework provides a facility for creating in memory data caches. Each cache is a mutable dictionary that associates values
with their keys. A cache limits the number of values it keeps according to available system memory and selects values to evict when the
limit is exceeded. Recently and frequently used values are less likely to be selected for eviction.
Cache keys and values should be cast as pointers. The framework provides a callback interface for supporting arbitrary types of keys and
values and implements callback functions for common types. See cache_callbacks(3) for more information.
Clients retrieve a value previously added to a cache using the value's key. When the client gets a value, the cache increments a reference
count on the value. When the client finishes with a value retrieved from a cache they must release the value back to the cache. Referenced
values are considered in use and will not be evicted. The cache may evict unreferenced values (e.g. to make room for other values or reduce
its size).
The number of values allowed in a cache at one time is managed by the cache framework. Cache size will grow when the system has available
memory and shrink under memory pressure.
Libcache is thread-safe. It is not safe to call back into the cache API from cache callback functions.
SEE ALSO
cache_create(3), cache_set_and_retain(3)
Darwin May 7, 2009 Darwin