mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Takao Indoh <indou.takao@soft.fujitsu.com>
To: William Lee Irwin III <wli@holomorphy.com>
Cc: Mike Fedyk <mfedyk@matchmail.com>, linux-kernel@vger.kernel.org
Subject: Re: cache limit
Date: Tue, 02 Sep 2003 19:52:51 +0900	[thread overview]
Message-ID: <23C371405B0858indou.takao@soft.fujitsu.com> (raw)
In-Reply-To: <20030827113646.GC4306@holomorphy.com>

On Wed, 27 Aug 2003 04:36:46 -0700, William Lee Irwin III wrote:

>On Wed, 27 Aug 2003 02:45:12 -0700, William Lee Irwin III wrote:
>>> How do you know most of it is unmapped?
>
>On Wed, Aug 27, 2003 at 08:14:12PM +0900, Takao Indoh wrote:
>> I checked /proc/meminfo.
>> For example, this is my /proc/meminfo(kernel 2.5.73)
>[...]
>> Buffers:         18520 kB
>> Cached:         732360 kB
>> SwapCached:          0 kB
>> Active:         623068 kB
>> Inactive:       179552 kB
>[...]
>> Dirty:           33204 kB
>> Writeback:           0 kB
>> Mapped:          73360 kB
>> Slab:            32468 kB
>> Committed_AS:   167396 kB
>[...]
>> According to this information, I thought that
>> all pagecache was 732360 kB and all mapped page was 73360 kB, so
>> almost of pagecache was not mapped...
>> Do I misread meminfo?
>
>No. Most of your pagecache is unmapped pagecache. This would correspond
>to memory that caches files which are not being mmapped by any process.
>This could result from either the page replacement policy favoring
>filesystem cache too heavily or from lots of io causing the filesystem
>cache to be too bloated and so defeating the swapper's heuristics (you
>can do this by generating large amounts of read() traffic).
>
>Limiting unmapped pagecache would resolve your issue. Whether it's the
>right thing to do is still open to question without some knowledge of
>application behavior (for instance, teaching userspace to do fadvise()
>may be right thing to do as opposed to the /proc/ tunable).
>
>Can you gather traces of system calls being made by the applications?
>
>
>-- wli

This is an output of strace -cf.

% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 47.91   57.459696          65    885531           read
 20.27   24.309112          33    727702           write
 17.01   20.405231        1058     19292           vfork
 13.41   16.087846          11   1524468           lseek
  0.32    0.379605          10     38586           close
  0.31    0.368272          19     19290           wait4
  0.27    0.326425          17     19292           pipe
  0.19    0.227052          12     19296           old_mmap
  0.16    0.192420          10     19291           munmap
  0.13    0.158041           8     19302           fstat64
  0.01    0.009983        4992         2           fsync
  0.00    0.001233           6       202           brk
  0.00    0.001029         515         2           unlink
  0.00    0.000173          25         7         1 open
  0.00    0.000128          64         2           chmod
  0.00    0.000092           7        13         6 stat64
  0.00    0.000019          19         1           getcwd
  0.00    0.000016           5         3           access
  0.00    0.000015           4         4           shmat
  0.00    0.000012           3         4           rt_sigaction
  0.00    0.000007           7         1           mprotect
  0.00    0.000002           2         1           getpid
------ ----------- ----------- --------- --------- ----------------
100.00  119.926409               3292292         7 total

According to this information, many I/O increase pagecache and cause
memory shortage.

fadvise may be effective, but fadvise always releases cache
even if there are enough free memory, and may degrade performance.
In the case of /proc tunable,
pagecache is not released until system memory become lack.


On Thu, 28 Aug 2003 01:02:45 +0900, YoshiyaETO wrote:

>> On Wed, 27 Aug 2003 02:45:12 -0700, William Lee Irwin III wrote:
>> >> How do you know it would be effective? Have you written a patch to
>> >> limit it in some way and tried running it?
>>
>> On Wed, Aug 27, 2003 at 08:14:12PM +0900, Takao Indoh wrote:
>> > It's just my guess. You mean that "index cache" is on the pagecache?
>> > "index cache" is allocated in the user space by malloc,
>> > so I think it is not on the pagecache.
>>
>> That will be in the pagecache.
>
>    No. DBMS usually uses DIRECTIO that bypass the pagecache.
>So, "index caches" in the DBMS user space will not be in pagecache.

If so, limiting pagecache seems to be effective for DBMS.

--------------------------------------------------
Takao Indoh
 E-Mail : indou.takao@soft.fujitsu.com

  reply	other threads:[~2003-09-02 10:52 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-19  4:39 Anthony R.
2003-08-19  4:57 ` Nuno Silva
2003-08-19  5:33 ` Denis Vlasenko
2003-08-19  6:20   ` Andrew Morton
2003-08-19  9:05     ` J.A. Magallon
2003-08-19  9:16       ` Andrew Morton
2003-08-19  9:28         ` J.A. Magallon
2003-08-19  9:43           ` Andrew Morton
2003-08-19 13:32     ` Erik Andersen
2003-08-19 20:56       ` Andrew Morton
2003-08-19 14:28   ` Anthony R.
2003-08-19 18:26     ` Mike Fedyk
2003-08-19  5:42 ` Nick Piggin
2003-08-21  0:49 ` Takao Indoh
2003-08-21 23:47   ` Mike Fedyk
2003-08-25  2:45     ` Takao Indoh
2003-08-25  4:11       ` William Lee Irwin III
2003-08-25 22:58         ` Mike Fedyk
2003-08-26  9:46           ` William Lee Irwin III
2003-08-27  9:36             ` Takao Indoh
2003-08-27  9:45               ` William Lee Irwin III
2003-08-27 11:14                 ` Takao Indoh
2003-08-27 11:36                   ` William Lee Irwin III
2003-09-02 10:52                     ` Takao Indoh [this message]
2003-09-02 11:30                       ` William Lee Irwin III
2003-09-02 17:21                       ` Mike Fedyk
2003-08-27 16:01                 ` Joseph Malicki
     [not found] <m6Bv.3ys.1@gated-at.bofh.it>
     [not found] ` <mLY8.dO.5@gated-at.bofh.it>
2003-08-21  9:52   ` Ihar 'Philips' Filipau
2003-08-25  7:17     ` Takao Indoh
     [not found] <n7lV.2HA.19@gated-at.bofh.it>
     [not found] ` <ofAJ.4dx.9@gated-at.bofh.it>
     [not found]   ` <ogZM.5KJ.1@gated-at.bofh.it>
     [not found]     ` <oyDw.5FP.33@gated-at.bofh.it>
2003-08-26 10:15       ` Ihar 'Philips' Filipau
2003-08-26 17:46         ` Mike Fedyk
     [not found] <oJ5P.699.21@gated-at.bofh.it>
     [not found] ` <oJ5P.699.23@gated-at.bofh.it>
     [not found]   ` <oJ5P.699.25@gated-at.bofh.it>
     [not found]     ` <oJ5P.699.27@gated-at.bofh.it>
     [not found]       ` <oJ5P.699.19@gated-at.bofh.it>
     [not found]         ` <oQh2.4bQ.13@gated-at.bofh.it>
2003-08-26 19:08           ` Ihar 'Philips' Filipau
2003-08-26 19:23             ` Mike Fedyk
2003-08-27 10:21               ` Ihar 'Philips' Filipau
2003-08-27 11:07                 ` Nick Piggin
     [not found] <000801c36cb1$454d4950$1001a8c0@etofmv650>
2003-08-27 16:02 ` YoshiyaETO
2003-08-27 16:03 Joseph Malicki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=23C371405B0858indou.takao@soft.fujitsu.com \
    --to=indou.takao@soft.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mfedyk@matchmail.com \
    --cc=wli@holomorphy.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome