List:General Discussion« Previous MessageNext Message »
From:Baron Schwartz Date:May 30 2009 2:48pm
Subject:Re: Why can't I kill the query cache?
View as plain text  
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.bergen@stripped> 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 <dnelson@stripped> 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
>>        dnelson@stripped
>>
>> --
>> MySQL General Mailing List
>> For list archives: http://lists.mysql.com/mysql
>> To unsubscribe:    http://lists.mysql.com/mysql?unsub=1
>>
>>
>
>
>
> --
> Eric Bergen
> eric.bergen@stripped
> http://www.ebergen.net
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/mysql?unsub=1
>
>



-- 
Baron Schwartz, Director of Consulting, Percona Inc.
Our Blog: http://www.mysqlperformanceblog.com/
Our Services: http://www.percona.com/services.html
Thread
contributing to mysql ..mugisha moses27 May
  • Re: contributing to mysql ..Mattia Merzi27 May
    • RE: contributing to mysql ..Martin Gainty27 May
    • Why can't I kill the query cache?Timothy Little29 May
      • Re: Why can't I kill the query cache?Gerald L. Clark29 May
        • Re: Why can't I kill the query cache?Dan Nelson29 May
          • Re: Why can't I kill the query cache?Eric Bergen29 May
            • Re: Why can't I kill the query cache?Baron Schwartz30 May