From: Cheng Rk <crquan@ymail.com>
To: Michal Hocko <mhocko@suse.cz>
Cc: Konstantin Khlebnikov <koct9i@gmail.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: How to controll Buffers to be dilligently reclaimed?
Date: Fri, 20 Feb 2015 20:33:27 +0000 (UTC) [thread overview]
Message-ID: <1959255055.1630546.1424464407401.JavaMail.yahoo@mail.yahoo.com> (raw)
In-Reply-To: <20150219094604.GF28427@dhcp22.suse.cz>
On Thursday, February 19, 2015 2:03 AM, Michal Hocko <mhocko@suse.cz> wrote:
>> So do you think is it worth to work on something to give pressure similar
>> to vm.vfs_cache_pressure to vfs inode & dentry cache?
>>
>> I am looking for an effect to let the kernel more aggressively reclaim
>> memory from Buffers,
> more aggressively than what? Anonymous memory, other types of caches?
> To be honest I do not see why we should treat buffers any different from
> any other cache. So far it is not clear what might be the issue you are
> seeing but I would suspect that too many buffers is not the primary one.
> It is hard to say anything more without any specific numbers, though.
to get Buffers more aggresively, or ealier reclaimed than lazy on demand.
Suppose if someone can do a similar sysctl (say vm.vfs_buffers_pressure, or reuse vm.vfs_cache_presssure), do you think is that worth to do and useful?
I think what makes sense to vm.vfs_cache_presssure would also make sense
to controll Buffers, right?
So far I see people adjust vm.vfs_cache_pressure for various purposes;
from default 100 they set it to 50 for more conservatively reclaim
memory from cache, or set to a larger value (like 10000) to reclaim
the Cached memory earlier, or more aggresively, for Build farms,
or in any scenarios that files are all temporary and accessed only in a short time;
If those temporary files are finally removed, the Cached memory can be reclaimed,
but some cases they may be never removed,
For file backup applications, they can do madvise MADV_DONTNEED, but for
other applications unaware of MADV_DONTNEED, the kernel may never that
Cached memory is not used anymore, keep them for long time, and reclaimed on demand;
To reclaim early also has a benefit to save time of reclaim on demand; when in future application really need memory; I'm not sure if any applications are sensitive on time of allocation,,
> By reading fs/super.c:prune_super I've also realized taht, which is the
> only place referening sysctl_vfs_cache_pressure,
> that block_devices' inode are in "bdev" mount, its super_block just
> have nr_cached_objects as NULL,
> s_nr_dentry_unused and s_nr_inodes_unused both 0, get total_objects to be
> reclaimed is 0;
>
> So is why sysctl_vfs_cache_pressure doesn't give pressure to Buffers,
>
>
> if (sb->s_op && sb->s_op->nr_cached_objects)
> fs_objects = sb->s_op->nr_cached_objects(sb);
>
> total_objects = sb->s_nr_dentry_unused +
> sb->s_nr_inodes_unused + fs_objects;
>
> total_objects = (total_objects / 100) * sysctl_vfs_cache_pressure;
> drop_super(sb);
>
>
> In crash, I got to know this block_device (253:2, or /dev/dm-2)has
> 10536805 pages mapped, that is the 40GB memory in Buffers,
I still do not see why is that a problem. They should get reclaimed on
demand.
> I wonder is there a sysctl can controll this to be reclaimed earlier?
I do not know about any.
[...]
--
Michal Hocko
SUSE Labs
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
prev parent reply other threads:[~2015-02-20 20:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-13 0:52 Cheng Rk
2015-02-13 7:34 ` Konstantin Khlebnikov
2015-02-13 9:52 ` Cheng Rk
2015-02-13 18:07 ` Cheng Rk
2015-02-18 14:23 ` Michal Hocko
2015-02-18 19:44 ` Cheng Rk
2015-02-19 9:46 ` Michal Hocko
2015-02-20 20:33 ` Cheng Rk [this message]
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=1959255055.1630546.1424464407401.JavaMail.yahoo@mail.yahoo.com \
--to=crquan@ymail.com \
--cc=koct9i@gmail.com \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.cz \
/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