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
Check Out this Related Man Page
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
Hi
I have a filesystem cache which is around 20G in size and I'm a bit perplexed as to what is in it.
I'm running Sybase on the machine with the db on raw volumes and a tempdb on a ramdisk.
My understanding is that raw volumes are not cached and I assumed that the ramdisk is not either. Am... (1 Reply)
Hi,
Is it possible to reduce the amount of buffer cache in the memory allocation of a Unix Server? If so where can I do that?
Also, does buffer cache count as tied up memory, or will it decrease as more memory is requested by other programs. (1 Reply)
Hi all
I am trying to understand the kernel memory management and require assistance in this regard. Kernel first creates the cache memory to perform any subsequent allocation to processes. I could not figure out how it is accomplished. Do kernel directly allocates any hardware cache or allocates... (0 Replies)
Hi
I have a following function that i call from my main script in korn shell.
#Unset all functions from the cache
#/bin/ksh
#Unset all functions from the cache
init () {
for func in "$(ls)"
do
echo "$func"
unset -f $func
if ; then
return 1
fi (1 Reply)
Right now i am using Red Hat Enterprise Linux AS release 4 and cache memory occupying around 1.5GB mentioned below,
total used free shared buffers cached
Mem: 2026 2021 5 0 161 1477
-/+ buffers/cache: 382 1644 ... (4 Replies)
Hello together,
i have a strange memory behavior on a AIX 7.1 System, which i cannot explain.
The Filesystem-Cache will not be grow up and drops often after few minutes. I know if a file was deleted, that the same segment in the FS-Cache will also be cleared. But i am not sure if this is the... (8 Replies)
i wish to clear memory cache on a production box and i was wondering what is the worst that can happen if i do?
i already tested this on a backup server and everything seemed fine.
but i need to know from you experts what are the worst things that can happen when i run it on a real server:
... (5 Replies)
#include<stdio.h>
#include<stdlib.h>
#include<sys/time.h>
#include<time.h>
#include "rdtsc.h"
#define SIZE 4*64*1024
int main()
{
unsigned long long a,b;
int arr={0};
int i;
register int r;
a=rdtsc();
r=arr;
b=rdtsc();
printf("1st element Access Cycles = %llu\n",b-a); (2 Replies)
Hello all
i have simple server running on linux redhat 6.1
it is build with c++
in the server i have huge std vector that holds pointers to cache objects
those cache objects holds allot of data from the DB
any way ...
in some point in time there is simple API that suppose to clean the... (2 Replies)
I am reading and caching some of the blocks of a large data file into program
virtual memory, for processing. My question is how do I synchronise this
cache with the file, for instance, if a block in the cache is updated or written to,
that block has to be updated in the underlying file. If this... (1 Reply)