10-17-2011
Cache is not technically needed. It's not like a file handle, where you must have one to do anything. It's just a copy of data held in memory in case you need to read it again, which makes future accesses much faster.
Caches are a kernel thing, not a process thing. The kernel decides what things should be cached, not the process, and the caches reside in the kernel, not the process. Usually, caches are a fairly ephemeral thing. If you need to allocate more memory and the memory's full of cache, piff, the kernel throws some Not Recently Used cache away and gives you the memory.
"buffer" is a vague term. I presume it's talking about file buffers?
Inode caches cache inodes, file buffers cache file contents. To stat() a file you are reading its inode, when you read() from a file you are getting its contents.
This User Gave Thanks to Corona688 For This Post:
10 More Discussions You Might Find Interesting
1. Filesystems, Disks and Memory
anybody please tell me how do i get all the information
about buffer cache in hp-ux .if anybody familiar with the system
call them please specify .
i found the extern variables in /sys/buf.h . but that didn't help .:) (2 Replies)
Discussion started by: vish_shan
2 Replies
2. UNIX for Advanced & Expert Users
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. Solaris
hiho,
i would like to show my apprentices the auto-defrag/perform mechanism from UFS. new FS, creating new directories, each directory get its own cylinder on the disk. hmm....
they want proofs.....
*embarrassing*
i couldn't remember how to look on which block the inode is linked....
so,... (4 Replies)
Discussion started by: pressy
4 Replies
4. Solaris
Hi,
I want to find out a particular disk block belong to which file. in solaris 2.8
Can anyone help.
Thanks and Regards
Bala (1 Reply)
Discussion started by: Balamurugan
1 Replies
5. HP-UX
What is the "Buffer Cache" used for? (1 Reply)
Discussion started by: ALTRUNVRSOFLN
1 Replies
6. Solaris
Does anyone know how the unix buffer / cache is set in a Solaris based system ?
( I presume it is a kernel based setting )
I notice from SAR -d that my read cache is consistently at 100% but my write cache frequently falls below 65%. What does this mean. Should I be tuning the write cache and... (1 Reply)
Discussion started by: jimthompson
1 Replies
7. Red Hat
hi everyone,
can any one help change the buffer cache size in redhat and suse?? this error i got when i installed oracle 10g and it went well and when i try to mount the database using startup cmd it says too many buffer cache parameters (error code : ora-1034)
thnq in advance (0 Replies)
Discussion started by: gsr_kashyap
0 Replies
8. UNIX for Dummies Questions & Answers
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)
Discussion started by: dehuang83
1 Replies
9. Filesystems, Disks and Memory
Hi,
I am trying to understand the role of buffer cache in block I/O.
I am monitoring /proc/meminfo, my question is does the value of 0 for 'buffers', mean that any subsequent disk read issued by a process, would get the data physically from the disk, and not an allocated buffer for the block?
... (1 Reply)
Discussion started by: jake24
1 Replies
10. Shell Programming and Scripting
Moderators,
Please excuse if I am in the wrong section.
I have a question that someone may know the answer to. We know that a current bash shell keeps a record of all commands in a buffer. When the shell is terminated this buffer is written out to ~/.bash_history for the user.
I know... (2 Replies)
Discussion started by: jaysunn
2 Replies
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