From: Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
To: KAMEZAWA Hiroyuki
<kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
Cc: Linux Containers
<containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org>,
Paul Menage <menage-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>,
Christoph Lameter <clameter-sJ/iWh9BUns@public.gmane.org>
Subject: Re: [RFC][PATCH 0/3] Kernel memory accounting container (v2)
Date: Thu, 13 Sep 2007 15:33:07 +0400 [thread overview]
Message-ID: <46E91FF3.7030105@openvz.org> (raw)
In-Reply-To: <20070913191950.ea100a62.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
KAMEZAWA Hiroyuki wrote:
> On Thu, 13 Sep 2007 13:11:35 +0400
> Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org> wrote:
>
>> First of all - why do we need this kind of control. The major
>> "pros" is that kernel memory control protects the system
>> from DoS attacks by processes that live in container. As our
>> experience shows many exploits simply do not work in the
>> container with limited kernel memory.
>>
>> I can split the kernel memory container into 4 parts:
>>
>> 1. kmalloc-ed objects control
>> 2. vmalloc-ed objects control
>> 3. buddy allocated pages control
>> 4. kmem_cache_alloc-ed objects control
>>
> <snip>
>> To play with it, one need to mount the container file system
>> with -o kmem and then mark some caches as accountable via
>> /sys/slab/<cache_name>/cache_account.
>>
> Hmm, how can we know "How many kmem will we need ?" in precise per-object
> style ? Is this useful ?
You can start with unlimited container and check how many
kernel memory your applications use normally and set the limit
to 120% of this.
You may also set this to some reasonable value like 50% of normal
zone to protect your system from a fork bomb or similar.
This is the same question as "how many user pages will my
container consume". The answer is - find it out experimentally
or ask for someone who has already done so.
> Following kind of limitation of user friendly params is bad ?
>
> - # of file handles
> - # of tasks
> - # of sockets/ connections / packets
> - # of posix IPC related things
> - and other sources of DoS.
These are not enough and none of them are reasonable. E.g. the
struct vm_area_struct objects are allocated for many mmap() calls,
but how to find it out how many of them you will require.
However some controllers will be done as well.
> Thanks,
> -Kame
>
>
>
next prev parent reply other threads:[~2007-09-13 11:33 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-13 9:11 [RFC][PATCH 0/3] Kernel memory accounting container (v2) Pavel Emelyanov
[not found] ` <46E8FEC7.2010707-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2007-09-13 9:13 ` [RFC][PATCH 1/3] Setup the kmem container Pavel Emelyanov
2007-09-13 9:14 ` [RFC][PATCH 2/3] The accounting hooks and core Pavel Emelyanov
2007-09-13 9:16 ` [RFC][PATCH 3/3] Tune caches to be accountable or not Pavel Emelyanov
2007-09-13 10:19 ` [RFC][PATCH 0/3] Kernel memory accounting container (v2) KAMEZAWA Hiroyuki
[not found] ` <20070913191950.ea100a62.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2007-09-13 11:33 ` Pavel Emelyanov [this message]
2007-09-13 10:46 ` Balbir Singh
[not found] ` <46E91520.9060701-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2007-09-13 11:28 ` Pavel Emelyanov
2007-09-13 18:36 ` Christoph Lameter
[not found] ` <Pine.LNX.4.64.0709131135210.9590-RYO/mD75kfhx2SFC9UQUAuF7EQX82lMiAL8bYrjMMd8@public.gmane.org>
2007-09-14 6:26 ` Pavel Emelyanov
[not found] ` <46EA297B.5070605-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2007-09-14 17:30 ` Christoph Lameter
[not found] ` <Pine.LNX.4.64.0709141028120.15683-RYO/mD75kfhx2SFC9UQUAuF7EQX82lMiAL8bYrjMMd8@public.gmane.org>
2007-09-17 6:12 ` Pavel Emelyanov
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=46E91FF3.7030105@openvz.org \
--to=xemul-gefaqzzx7r8dnm+yrofe0a@public.gmane.org \
--cc=clameter-sJ/iWh9BUns@public.gmane.org \
--cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
--cc=kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org \
--cc=menage-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.