Sponsored Content
Top Forums UNIX for Advanced & Expert Users echo 1 > /proc/sys/vm/drop_caches a good idea? Post 302462902 by Neo on Friday 15th of October 2010 09:24:06 AM
Old 10-15-2010
Hi Eric,

Actually, it really does not matter much, frankly speaking. I've experimented with dropping caches in Linux so many times on our production web server (LAMP).

Linux does such a great job at using all available memory, and reclaiming it when needed, so it is better to let Linux manage those things.

When you drop the cache (or caches), you will see the CPU load go up (sometimes way up) because the cache is gone. Available RAM goes up, but it does not matter because performance is slower because the cache is empty.

Then over time, if you leave the caches off, the performance will suffer because you are not taking advantage of the cache.

Linux tries to use all available RAM, so the caches will fill over time if you don't instruct Linux to drop the caches, and this is a good thing. You will see available RAM go down, but don't worry, it is available for applications when needed because applications take higher priority than cache.

You want Linux to use all the RAM. That is a good thing because the kernel is basically using all available RAM that is not used by applications (and the OS) for cache. Dropping caches has little positive effect on performance. In fact, it tends to have a negative effect. The reason is that you are not really making more RAM available to the apps, because the apps already have been given the RAM needed. You simply are dropping the cache, which degrades performance.

Regarding, swappiness, the same is basically true. Linux will dump the cache before swapping, as I recall, but I would need to read up on that again to see exactly how it works.

We have experimented with swappiness, and ours is currently set to:
Code:
# cat swappiness
20

... and FYI:

Code:
# cat drop_caches
0

This User Gave Thanks to Neo For This Post:
 

8 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Dual Boot a good idea?

I was just wondering if it would be alright to dual boot a machine with both UNIX using XTERM for the interface and windows 98 or if people consider this a bad idea? if you consider it bad do tell me some possible alternatives..also would it be better to get linux over pure unix? I'd like a visual... (8 Replies)
Discussion started by: PravusMentis
8 Replies

2. Shell Programming and Scripting

Limitations of awk? Good idea? Bad idea?

Keeping in mind that I'm relatively comfortable with programming in general but very new to unix and korn/bourne shell scripts.. I'm using awk on a CSV file, and then performing calculations and operations on specific fields within specific records. The CSV file I'm working with has about 600... (2 Replies)
Discussion started by: yongho
2 Replies

3. Shell Programming and Scripting

Echo escaped \c in SH Shell Any Idea

Hi All, I have got an echo statement with "\c" in it to avoid getting into a newline. Ths script is using #!\bin\sh Any idea what could make it to escape "\c" (4 Replies)
Discussion started by: asami
4 Replies

4. Shell Programming and Scripting

any good idea on this?

txt file like this, 1 2 3 4456 a bb c d 3 f e 1 k 32 d m f e 123 m 2 k every line contains 3 or more columns, all the columns are separated by space, and every column includes 1 to 3 character. what I wanna do is deleting the first three columns, and keep the rest no matter how long... (7 Replies)
Discussion started by: fedora
7 Replies

5. Linux

Kernal panic error& setuproot:error mounting /proc&/sys

Hi all, I am new to redhat/fedora linux. In fedora linux 6,we created one file system(hda3 - /fs). in this mount poing we were installed mounta vista os. while booting we are getting below error messages. 1) Booting 'mountaVisat(2.6.18_pro 500_pc_target-x86_586 smp)' root(hd0,1)... (2 Replies)
Discussion started by: arjunreddy3
2 Replies

6. Shell Programming and Scripting

Compact script with array - Good idea?

Hi, I have a shell script where a lot of the code is repeated. I wanted to make the code much more compact so I spoke to a guy and he suggested using arrays, like follows: #!/bin/bash readonly -a nginx=('nginx' '--prefix=/opt' '-j 4' 'http://nginx.org/download/nginx-1.2.2.tar.gz' )... (2 Replies)
Discussion started by: Spadez
2 Replies

7. Solaris

Drop_caches doesn't work on Solaris but works on RHEL6

Hello Experts, I am performing performance tests on a few mysql select queries. I use the following command to clear the memory disk caches. sync && echo 3 | sudo tee /proc/sys/vm/drop_caches I however see that the above command works on RHEL6 but doesn't work on Solaris 10. I asked... (4 Replies)
Discussion started by: Anirudh Kumar
4 Replies

8. IP Networking

Cat /proc/sys/net/ipv4/ip_local_port_range

Hello, /proc/sys/net/ipv4/ip_local_port_range returns 32000 - 61000, i have a client TCP and a Server TCP. i have used bind() only on the server, the port of socket client is given by the OS that's it ? it retrieves this port from this range (/proc/sys/net/ipv4/ip_local_port_range) ? ... (5 Replies)
Discussion started by: chercheur111
5 Replies
LINPROCFS(5)						      BSD File Formats Manual						      LINPROCFS(5)

NAME
linprocfs -- Linux process file system SYNOPSIS
linproc /compat/linux/proc linprocfs rw 0 0 DESCRIPTION
The Linux process file system, or linprocfs, emulates a subset of Linux' process file system and is required for the complete operation of some Linux binaries. The linprocfs provides a two-level view of process space. At the highest level, processes themselves are named, according to their process ids in decimal, with no leading zeros. There is also a special node called self which always refers to the process making the lookup request. Each node is a directory containing several files: exe A reference to the vnode from which the process text was read. This can be used to gain access to the process' symbol table, or to start another copy of the process. mem The complete virtual memory image of the process. Only those addresses which exist in the process can be accessed. Reads and writes to this file modify the process. Writes to the text segment remain private to the process. Each node is owned by the process's user, and belongs to that user's primary group, except for the mem node, which belongs to the kmem group. FILES
/compat/linux/proc The normal mount point for the linprocfs. /compat/linux/proc/cpuinfo CPU vendor and model information in human-readable form. /compat/linux/proc/meminfo System memory information in human-readable form. /compat/linux/proc/pid A directory containing process information for process pid. /compat/linux/proc/self A directory containing process information for the current process. /compat/linux/proc/self/exe The executable image for the current process. /compat/linux/proc/self/mem The complete virtual address space of the current process. EXAMPLES
To mount a linprocfs file system on /compat/linux/proc: mount -t linprocfs linproc /compat/linux/proc SEE ALSO
mount(2), unmount(2), procfs(5), pseudofs(9) HISTORY
The linprocfs first appeared in FreeBSD 4.0. AUTHORS
The linprocfs was derived from procfs by Pierre Beyssac. This manual page was written by Dag-Erling Smorgrav, based on the procfs(5) manual page by Garrett Wollman. BSD
August 10, 1994 BSD
All times are GMT -4. The time now is 03:53 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy