I had heard of that trick but never looked it up.  'man proc' tells me

       /proc/sys/vm/drop_caches (since Linux 2.6.16)
              Writing to this file causes the kernel  to  drop  clean  caches,
              dentries  and  inodes from memory, causing that memory to become
              free.

              To free pagecache, use echo  1  >  /proc/sys/vm/drop_caches;  to
              free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
              to  free  pagecache,  dentries  and  inodes,  use   echo   3   >
              /proc/sys/vm/drop_caches.

              Because  this  is  a non-destructive operation and dirty objects
              are not freeable, the user should run sync(8) first.

I should read the whole man page...

On Fri, May 29, 2009 at 5:59 PM, Eric Bergen <eric.ber...@gmail.com> wrote:
> You can also flush the cache with echo 1 > /proc/sys/vm/drop_caches if
> you have a new enough kernel.
>
> On Fri, May 29, 2009 at 2:16 PM, Dan Nelson <dnel...@allantgroup.com> wrote:
>> In the last episode (May 29), Gerald L. Clark said:
>>> Little, Timothy wrote:
>>> > Also titled, I want this to run slow ALL the time...
>>> >
>>> > I have a group of dreadful queries that I have to optimize.
>>> >
>>> > Some take 20-30 seconds each -- the first time that I run them.  But
>>> > then they never seem to take that long after the first time (taking less
>>> > than a second then).  If I change the "keywords" searched for in the
>>> > where clauses, then they take a long time again...  so it's the
>>> > query-cache or something just like it.
>>> >
>>> > BUT, I am doing this each time :
>>> > flush tables;
>>> > reset query cache;
>>> > set global query_cache_size=0;
>>> > SELECT   SQL_NO_CACHE DISTINCT ca.conceptid AS headingid,
>>> >
>>> > And still it's not avoiding the cache.
>>> >
>>> > Is there a cache I'm missing?
>>> >
>>> > Tim...
>>> >
>>> >
>>> Disk cache, but I don't know how to clear it.
>>
>> Create a file 2x the size of your RAM (for a 2gb system, dd if=/dev/zero
>> of=bigfile bs=1024k count=4096), then dd it to /dev/null (dd if=bigfile
>> of=/dev/null bs=1024k).  That should flush your OS cache.  The guaranteed
>> way would be to dismount then remount your filesystem, but that could be
>> difficult depending on how many other processes are using it..
>>
>> --
>>        Dan Nelson
>>        dnel...@allantgroup.com
>>
>> --
>> MySQL General Mailing List
>> For list archives: http://lists.mysql.com/mysql
>> To unsubscribe:    http://lists.mysql.com/mysql?unsub=eric.ber...@gmail.com
>>
>>
>
>
>
> --
> Eric Bergen
> eric.ber...@gmail.com
> http://www.ebergen.net
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/mysql?unsub=ba...@xaprb.com
>
>



-- 
Baron Schwartz, Director of Consulting, Percona Inc.
Our Blog: http://www.mysqlperformanceblog.com/
Our Services: http://www.percona.com/services.html

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to