All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Vedran Furač" <vedranf@vedranf.mine.nu>
To: linux-kernel@vger.kernel.org
Subject: Memory overcommit
Date: Mon, 12 Oct 2009 13:51:07 +0200	[thread overview]
Message-ID: <hav57c$rso$1@ger.gmane.org> (raw)

Hi! I don't know if this is appropriate place to ask such questions and
if not, please point me to such place.

Let's simulate a process gone berserk with this piece of code:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>

int main()
{
  char *buf;
  while(1) {
    buf = malloc (1024*1024*100);
    if ( buf == NULL ) {
      perror("malloc");
      getchar();
      exit(EXIT_FAILURE);
    }
    sleep(1);
    memset(buf, 1, 1024*1024*100);
  }
  return 0;
}

# echo 0 > /proc/sys/vm/overcommit_memory

Compile, run and soon result is:
- System freezes for a second or two
- OOMK wakes up
- X crashes

Now, I'm back to VT1 and dmesg shows 8 process were killed by OOMK
(including X server and some long running daemons with small memory
footprint like automount) before the real culprit was killed. This
random killing spree *really* gives bad reputation to linux and people
usually point this out as an argument against it.

But, there is an easy fix:
# echo 2 > /proc/sys/vm/overcommit_memory
Run the program again and after a few seconds you'll get:

"malloc: Cannot allocate memory"

and that's all what happens. Nothing gets killed and one (and others
too) can continue to work without loosing time, data or both. Only
somewhat strange is that kernel contradicts itself when it says there is
no more and in the same time saying:

/proc/meminfo
MemTotal:        3542532 kB
MemFree:          892972 kB
Buffers:            2664 kB
Cached:           130940 kB

...that there is almost 900MB free memory. But OK, I can live with it.

So, my question is: why today overcommit isn't turned off *by default*?
I have it turned off for a few years now and only side effect is that I
don't get processes killed randomly anymore, I don't loose valuable time
and data.

Regards,

Vedran


             reply	other threads:[~2009-10-12 12:02 UTC|newest]

Thread overview: 162+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-12 11:51 Vedran Furač [this message]
2009-10-13  3:08 ` Memory overcommit KAMEZAWA Hiroyuki
2009-10-13 17:13   ` Vedran Furač
2009-10-14  4:51     ` KAMEZAWA Hiroyuki
2009-10-20 21:52       ` Vedran Furač
2009-10-26  1:55         ` KAMEZAWA Hiroyuki
2009-10-26 16:16           ` Vedran Furač
2009-10-26 16:16             ` Vedran Furač
2009-10-27  3:22             ` KAMEZAWA Hiroyuki
2009-10-27  3:22               ` KAMEZAWA Hiroyuki
2009-10-27  6:10               ` KOSAKI Motohiro
2009-10-27  6:10                 ` KOSAKI Motohiro
2009-10-27  6:34                 ` Minchan Kim
2009-10-27  6:34                   ` Minchan Kim
2009-10-27  6:36                   ` KAMEZAWA Hiroyuki
2009-10-27  6:36                     ` KAMEZAWA Hiroyuki
2009-10-27  6:55                     ` Minchan Kim
2009-10-27  6:55                       ` Minchan Kim
2009-10-27  7:45                       ` [RFC][PATCH] oom_kill: avoid depends on total_vm and use real RSS/swap value for oom_score (Re: " KAMEZAWA Hiroyuki
2009-10-27  7:45                         ` KAMEZAWA Hiroyuki
2009-10-27  7:56                         ` Minchan Kim
2009-10-27  7:56                           ` Minchan Kim
2009-10-27 12:38                           ` Andrea Arcangeli
2009-10-27 12:38                             ` Andrea Arcangeli
2009-10-28  0:22                             ` KAMEZAWA Hiroyuki
2009-10-28  0:22                               ` KAMEZAWA Hiroyuki
2009-10-28  0:45                               ` Vedran Furač
2009-10-28  0:45                                 ` Vedran Furač
2009-10-27  7:56                         ` KAMEZAWA Hiroyuki
2009-10-27  7:56                           ` KAMEZAWA Hiroyuki
2009-10-27  8:14                           ` Minchan Kim
2009-10-27  8:14                             ` Minchan Kim
2009-10-27  8:33                             ` KAMEZAWA Hiroyuki
2009-10-27  8:33                               ` KAMEZAWA Hiroyuki
2009-10-27  8:52                               ` Minchan Kim
2009-10-27  8:52                                 ` Minchan Kim
2009-10-27  8:56                                 ` KAMEZAWA Hiroyuki
2009-10-27  8:56                                   ` KAMEZAWA Hiroyuki
2009-10-27 17:41                         ` Vedran Furač
2009-10-27 17:41                           ` Vedran Furač
2009-10-28  0:13                           ` KAMEZAWA Hiroyuki
2009-10-28  0:13                             ` KAMEZAWA Hiroyuki
2009-10-27 18:39                         ` Hugh Dickins
2009-10-27 18:39                           ` Hugh Dickins
2009-10-27 18:47                           ` Andrea Arcangeli
2009-10-27 18:47                             ` Andrea Arcangeli
2009-10-28  0:32                             ` KAMEZAWA Hiroyuki
2009-10-28  0:32                               ` KAMEZAWA Hiroyuki
2009-11-05 19:02                             ` Pavel Machek
2009-11-05 19:02                               ` Pavel Machek
2009-10-28  0:28                           ` KAMEZAWA Hiroyuki
2009-10-28  0:28                             ` KAMEZAWA Hiroyuki
2009-10-27  6:46                   ` KOSAKI Motohiro
2009-10-27  6:46                     ` KOSAKI Motohiro
2009-10-27  6:56                     ` Minchan Kim
2009-10-27  6:56                       ` Minchan Kim
2009-10-27 17:12               ` Vedran Furač
2009-10-27 17:12                 ` Vedran Furač
2009-10-27 18:02                 ` KOSAKI Motohiro
2009-10-27 18:30                   ` Vedran Furač
2009-10-27 18:30                     ` Vedran Furač
2009-10-27 20:44               ` Hugh Dickins
2009-10-27 20:44                 ` Hugh Dickins
2009-10-27 21:04                 ` David Rientjes
2009-10-27 21:04                   ` David Rientjes
2009-10-28  0:08                   ` Vedran Furač
2009-10-28  0:08                     ` Vedran Furač
2009-10-28  0:25                     ` David Rientjes
2009-10-28  0:25                       ` David Rientjes
2009-10-28  0:39                       ` Vedran Furač
2009-10-28  0:39                         ` Vedran Furač
2009-10-28  4:08                         ` David Rientjes
2009-10-28  4:08                           ` David Rientjes
2009-10-28  4:55                           ` KAMEZAWA Hiroyuki
2009-10-28  4:55                             ` KAMEZAWA Hiroyuki
2009-10-28  5:13                             ` David Rientjes
2009-10-28  5:13                               ` David Rientjes
2009-10-28  6:05                               ` KAMEZAWA Hiroyuki
2009-10-28  6:05                                 ` KAMEZAWA Hiroyuki
2009-10-28  6:17                                 ` David Rientjes
2009-10-28  6:17                                   ` David Rientjes
2009-10-28  6:20                                   ` KAMEZAWA Hiroyuki
2009-10-28  6:20                                     ` KAMEZAWA Hiroyuki
2009-10-29  8:38                                     ` David Rientjes
2009-10-29  8:38                                       ` David Rientjes
2009-10-29 11:11                                       ` Vedran Furač
2009-10-29 11:11                                         ` Vedran Furač
2009-10-29 19:53                                         ` David Rientjes
2009-10-29 19:53                                           ` David Rientjes
2009-10-29 23:48                                           ` KAMEZAWA Hiroyuki
2009-10-29 23:48                                             ` KAMEZAWA Hiroyuki
2009-10-30  9:10                                             ` David Rientjes
2009-10-30  9:10                                               ` David Rientjes
2009-10-30  9:36                                               ` KAMEZAWA Hiroyuki
2009-10-30  9:36                                                 ` KAMEZAWA Hiroyuki
2009-10-30 10:49                                                 ` Thomas Fjellstrom
2009-11-03 20:49                                                 ` David Rientjes
2009-11-03 20:49                                                   ` David Rientjes
2009-11-04  0:50                                                   ` KAMEZAWA Hiroyuki
2009-11-04  0:50                                                     ` KAMEZAWA Hiroyuki
2009-11-04  1:58                                                     ` David Rientjes
2009-11-04  1:58                                                       ` David Rientjes
2009-11-04  2:17                                                       ` KAMEZAWA Hiroyuki
2009-11-04  2:17                                                         ` KAMEZAWA Hiroyuki
2009-11-04  3:10                                                         ` David Rientjes
2009-11-04  3:10                                                           ` David Rientjes
2009-11-04  3:19                                                           ` KAMEZAWA Hiroyuki
2009-11-04  3:19                                                             ` KAMEZAWA Hiroyuki
2009-10-30 13:59                                           ` Vedran Furač
2009-10-30 13:59                                             ` Vedran Furač
2009-10-30 19:24                                             ` David Rientjes
2009-10-30 19:24                                               ` David Rientjes
2009-11-02 19:58                                               ` Vedran Furač
2009-11-02 19:58                                                 ` Vedran Furač
2009-10-28 13:28                           ` Vedran Furač
2009-10-28 13:28                             ` Vedran Furač
2009-10-28 20:10                             ` David Rientjes
2009-10-28 20:10                               ` David Rientjes
2009-10-29  3:05                               ` Vedran Furač
2009-10-29  3:05                                 ` Vedran Furač
2009-10-29  8:35                                 ` David Rientjes
2009-10-29  8:35                                   ` David Rientjes
2009-10-29 11:01                                   ` Vedran Furač
2009-10-29 11:01                                     ` Vedran Furač
2009-10-29 19:42                                     ` David Rientjes
2009-10-29 19:42                                       ` David Rientjes
2009-10-30 13:53                                       ` Vedran Furač
2009-10-30 13:53                                         ` Vedran Furač
2009-10-30 14:08                                         ` Thomas Fjellstrom
2009-10-30 14:08                                           ` Thomas Fjellstrom
2009-10-30 15:13                                           ` Vedran Furač
2009-10-30 15:13                                             ` Vedran Furač
2009-10-30 14:12                                         ` Andrea Arcangeli
2009-10-30 14:12                                           ` Andrea Arcangeli
2009-10-30 14:41                                           ` Vedran Furač
2009-10-30 14:41                                             ` Vedran Furač
2009-10-30 15:15                                             ` Andrea Arcangeli
2009-10-30 15:15                                               ` Andrea Arcangeli
2009-10-30 16:24                                               ` Hugh Dickins
2009-10-30 16:24                                                 ` Hugh Dickins
2009-11-02 19:56                                               ` Vedran Furač
2009-11-02 19:56                                                 ` Vedran Furač
2009-10-30 19:44                                         ` David Rientjes
2009-10-30 19:44                                           ` David Rientjes
2009-11-02 19:56                                           ` Vedran Furač
2009-11-02 19:56                                             ` Vedran Furač
2009-10-28  0:43                 ` KAMEZAWA Hiroyuki
2009-10-28  0:43                   ` KAMEZAWA Hiroyuki
2009-10-28  2:47                 ` KOSAKI Motohiro
2009-10-28  2:47                   ` KOSAKI Motohiro
2009-10-28  3:17                   ` KAMEZAWA Hiroyuki
2009-10-28  3:17                     ` KAMEZAWA Hiroyuki
2009-10-28  4:12                   ` David Rientjes
2009-10-28  4:12                     ` David Rientjes
2009-10-28  8:10                     ` Hugh Dickins
2009-10-28  8:10                       ` Hugh Dickins
  -- strict thread matches above, loose matches on Subject: below --
2005-12-09 22:00 Tracy R Reed
2005-12-11  2:00 ` Kip Macy
2005-12-11 15:45   ` Keir Fraser
2005-12-11 19:59     ` Rik van Riel
2005-12-13 16:10       ` Keir Fraser
2005-12-13 16:25         ` Jacob Gorm Hansen

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='hav57c$rso$1@ger.gmane.org' \
    --to=vedranf@vedranf.mine.nu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vedran.furac@gmail.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 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.