echo 1 > /proc/sys/vm/drop_caches a good idea?


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users echo 1 > /proc/sys/vm/drop_caches a good idea?
# 1  
Old 10-15-2010
echo 1 > /proc/sys/vm/drop_caches a good idea?

Hi folks.
I work with several production servers, and I have seen in some Kernel Cache using most of the memory.

See this pic:

Image


Do you think this is a smart choice? Remember these are productions servers and it is extremely necesary this does not cause any issues further.

Code:
sync; echo 1 > /proc/sys/vm/drop_caches

# 2  
Old 10-15-2010
What is the value of (your) /proc/sys/vm/drop_caches now?
# 3  
Old 10-15-2010
Hi Neo, thanks for the quick reply, I'm home now, and won't be back in my job until 15 hours, but I will let you know Smilie

---------- Post updated at 06:58 AM ---------- Previous update was at 06:56 AM ----------

by the way swappiness is set to "60" if that helps, and this box is a database server (mysql)

---------- Post updated at 07:00 AM ---------- Previous update was at 06:58 AM ----------

What if the drop_caches was set to "0" ??
# 4  
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:
# 5  
Old 10-15-2010
Unless you're trying to address a performance issue, I'd agree that there's no need to prevent any cache use.

Look at it this way: cached data will be discarded if anything else needs the RAM, and free RAM is wasted RAM.

Seriously: free RAM is wasted RAM.
# 6  
Old 10-15-2010
Copies of disk data pages in RAM can't be a bad thing, as long as they are not 'dirty' (unrepatriated to their media page)! I am amazed it took so long. Is there such a thing as too much RAM, other than to a reliability model?
# 7  
Old 10-15-2010
thanks a lot guys!
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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
Login or Register to Ask a Question