Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.os.unix.linux.misc > #116472

Re: Swap auf einem Desktopsystem sinnvoll?

From Helmut Waitzmann <nn.throttle@xoxy.net>
Newsgroups de.comp.os.unix.linux.misc
Subject Re: Swap auf einem Desktopsystem sinnvoll?
Date 2021-04-05 21:19 +0200
Organization Aioe.org NNTP Server
Message-ID <831rbo1qu8.fsf@helmutwaitzmann.news.arcor.de> (permalink)
References <1p6sxj8.7cim0c13pj02cN%georg.schwarz@freenet.de> <6061c033$0$32756$7b62cf90@news1.net.de> <iclrrdF5d65U1@mid.individual.net> <83o8ewrw3y.fsf@helmutwaitzmann.news.arcor.de> <icq7d2Fp3oU1@mid.individual.net>

Show all headers | View raw


Hermann Riemann <nospam.ng@hermann-riemann.de>:
>Am 03.04.21 um 03:32 schrieb Helmut Waitzmann:

>> Hast Du dabei sichergestellt, dass das C‐Programm im zweiten Fall 
>> nicht mehr Speicher angefordert hatte wie im ersten Fall?
>
>Das C- Programm ist von der Art: 
>
>
>int64_t l=4096;
>void *p;
>while(1){
>   p=malloc(l);
>   if (p==NULL) break;
>   memset(p,0,l);
>   free(p);
>   printf("%llX\n"l);
>   l*=2;}
>
>Da ist der Unterschied ob swap abgeschaltet ist, 
>deutlich sichtbar.

Das C‐Programm fordert also in geometrischer Folge, mit 4 KiB 
beginnend, in jedem Schleifendurchlauf die doppelte Menge Speicher 
an, so lang, bis das Betriebssystem den Wunsch nicht mehr erfüllen 
kann. 

=> Mit Swapspace tritt der Fall, dass das C‐Programm zu Ende kommt, 
erst viel später ein, als ohne.  Daher sind beide Fälle nicht 
vergleichbar. 

Der Versuch taugt also auf den ersten Blick allenfalls für die 
Frage, ob mehr oder weniger Swapspace im Fall, dass ein 
wildgewordenes Programm amoklaufend allen Speicher frisst, den es 
kriegen kann, besser ist oder nicht, aber nicht für die Frage, ob 
ein System ohne wildgewordene Programme besser ohne oder mit 
Swapspace läuft. 

Wenn ich Dich richtig verstanden habe, möchtest Du durch Verzicht 
auf Swapspace um den Preis, dass der Betriebssystemkern den 
Sensenmann (OoM‐Killer) losschickt und im System möglicherweise 
Schaden anrichtet, Swappen verhindern. 

Da hätte ich Dir einen besseren Vorschlag, der ohne den Sensenmann 
auskommt:  Verbiete dem Programm, sich allen Speicher zu krallen.  
Dann kann man trotzdem noch, falls man will, Swapspace 
bereitstellen. 

Schau Dir dazu das Handbuch «prlimit(2)» für den Systemaufruf 
«prlimit» an, mit dem man Prozesse im Ressourcen‐Verbrauch 
beschränken kann.  Dort findest Du u. a. folgende Abschnitte, hier 
mit «|» am Zeilenanfang markiert, durchbrochen von Kommentaren:

| The resource argument must be one of:
|
| RLIMIT_AS
|        This is the maximum size of the process's virtual
|        memory (address space).  The limit is specified in
|        bytes, and is rounded down to the system page size.
|        This limit affects calls to brk(2), mmap(2), and
|        mremap(2), which fail with the error ENOMEM upon
|        exceeding this limit.  In addition, automatic stack
|        expansion fails (and generates a SIGSEGV that kills
|        the process if no alternate stack has been made
|        available via sigaltstack(2)).  Since the value is a
|        long, on machines with a 32-bit long either this
|        limit is at most 2 GiB, or this resource is
|        unlimited.

Das hört sich doch schon mal sehr gut an, um einen Prozess, der mit 
«malloc» allzu gierig umgeht, in Speicherschranken zu weisen.  Aber 
es gibt sogar noch spezifischeres: 

|
| RLIMIT_DATA
|        This is the maximum size of the process's data
|        segment (initialized data, uninitialized data, and
|        heap).  The limit is specified in bytes, and is
|        rounded down to the system page size.  This limit
|        affects calls to brk(2), sbrk(2), and (since Linux
|        4.7) mmap(2), which fail with the error ENOMEM upon
|        encountering the soft limit of this resource.

Diese Schranke ist genau das, was man hier brauchen kann, um einen 
Prozess, der mit «malloc» allzu gierig umgeht, in Schranken zu 
weisen. 

Und dann gibt es auch noch eine Begrenzung für den Stack:  


| RLIMIT_STACK
|        This is the maximum size of the process stack, in
|        bytes.  Upon reaching this limit, a SIGSEGV signal
|        is generated.  To handle this signal, a process must
|        employ an alternate signal stack (sigaltstack(2)).
|
|        Since Linux 2.6.23, this limit also determines the
|        amount of space used for the process's command-line
|        arguments and environment variables; for details,
|        see execve(2).

Das wäre für amoklaufende Programme, die etwa eine Endlosrekursion 
in Funktions‐ oder Prozeduraufrufe machen und deshalb den Stack 
unbeschränkt wachsen lassen, einerseits interessant.  Die Folge ist 
dann, dass sie ein SEGV‐Signal erhalten.  Andererseits kann man 
davon ausgehen, dass die meisten Programme sich keinen alternativen 
Signal‐Stack einrichten.  Dann läuft der Stacküberlauf auf ein 
KILL‐Signal hinaus, das es dem Prozess nicht erlaubt, noch 
irgendwelche Aufräumarbeiten zu tun. 

Für das Programm «prlimit» (das natürlich den Systemaufruf «prlimit» 
benutzt) steht im Handbuch «prlimit(1)», wie es aufzurufen ist. 

Eine weitere Hilfe, das System flüssig zu halten, ist, Programme, 
die viel Speicher anfordern, mit einem schlechten (also großen) 
«ionice»‐Wert oder «nice»‐Wert zu starten.  «nice» ist eigentlich 
immer eine gute Idee beim Start von nicht‐zeitkritischen Programmen, 
die das System ziemlich beanspruchen könnten. 

Dann kannst Du folgenden Aufruf des C‐Programms probieren:  


   # Starte das Programm mit in Bytes gemessener
   # (beispielsweise auf 1 GiB) begrenzter Speichergroesze
   # und gesenkter Prioritaet:
   nice -n 19 -- prlimit --data="$(( 1 << 30 ))": -- \
     das_C-Programm

Gib als Speichergrößengrenze die Menge von Speicher an, die das 
C‐Programm beim Versuch ohne Swapspace erhalten konnte.

Nimm den Swapspace in Betrieb und wiederhole den Versuch.  Hast Du 
jetzt immer noch große Wartezeiten?  Meine Vermutung:  Man erhält 
ein stabiles System, bei dem das amoklaufende C‐Programm scheitert, 
ohne das ganze System auszubremsen und – vor allem – ohne vom 
Sensenmann daran gehindert zu werden, vor dem Ende Aufräumarbeiten 
zu tun. 

Back to de.comp.os.unix.linux.misc | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Swap auf einem Desktopsystem sinnvoll? georg.schwarz@freenet.de (Georg Schwarz) - 2021-03-29 12:05 +0200
  Re: Swap auf einem Desktopsystem sinnvoll? Sven Hartge <sh-213@svenhartge.de> - 2021-03-29 12:10 +0200
  Re: Swap auf einem Desktopsystem sinnvoll? Arno Welzel <usenet@arnowelzel.de> - 2021-03-29 12:10 +0200
    Re: Swap auf einem Desktopsystem sinnvoll? Marcus Jodorf <trap@killfile.de> - 2021-03-29 21:25 +0200
      Re: Swap auf einem Desktopsystem sinnvoll? Arno Welzel <usenet@arnowelzel.de> - 2021-03-31 00:35 +0200
        Re: Swap auf einem Desktopsystem sinnvoll? Christian Garbs <mitch@cgarbs.de> - 2021-04-01 16:14 +0200
  Re: Swap auf einem Desktopsystem sinnvoll? Manuel Reimer <manuel.nulldevice@nurfuerspam.de> - 2021-03-29 12:35 +0200
    Re: Swap auf einem Desktopsystem sinnvoll? Tim Ritberg <tim@server.invalid> - 2021-03-29 12:41 +0200
    Re: Swap auf einem Desktopsystem sinnvoll? Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2021-03-29 10:46 +0000
      Re: Swap auf einem Desktopsystem sinnvoll? Andreas Neumann <an5275@sedo.com> - 2021-03-29 14:13 +0300
      Re: Swap auf einem Desktopsystem sinnvoll? Karl Davis <me@privacy.org> - 2021-03-29 11:24 +0000
        Re: Swap auf einem Desktopsystem sinnvoll? Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2021-03-29 11:54 +0000
      Re: Swap auf einem Desktopsystem sinnvoll? Andreas Kohlbach <ank@spamfence.net> - 2021-03-29 11:12 -0400
  Re: Swap auf einem Desktopsystem sinnvoll? Claus Reibenstein <creibens@gmail.com> - 2021-03-29 13:09 +0200
  Re: Swap auf einem Desktopsystem sinnvoll? Martin Schnitkemper <news.trash.5.mschnitk@spamgourmet.com> - 2021-03-29 13:14 +0200
    Re: Swap auf einem Desktopsystem sinnvoll? georg.schwarz@freenet.de (Georg Schwarz) - 2021-04-05 00:02 +0200
  Re: Swap auf einem Desktopsystem sinnvoll? Juergen Ilse <news@usenet-verwaltung.de> - 2021-03-29 11:55 +0000
    Re: Swap auf einem Desktopsystem sinnvoll? Peter Blancke <blancke@gmx.de> - 2021-03-30 21:30 +0000
    Re: Swap auf einem Desktopsystem sinnvoll? Hermann Riemann <nospam.ng@hermann-riemann.de> - 2021-04-01 14:15 +0200
      Re: Swap auf einem Desktopsystem sinnvoll? Juergen Ilse <news@usenet-verwaltung.de> - 2021-04-01 13:20 +0000
        Re: Swap auf einem Desktopsystem sinnvoll? Claus Reibenstein <creibens@gmail.com> - 2021-04-01 16:59 +0200
          Re: Swap auf einem Desktopsystem sinnvoll? Juergen Ilse <news@usenet-verwaltung.de> - 2021-04-02 10:09 +0000
          Re: Swap auf einem Desktopsystem sinnvoll? Marc Haber <mh+usenetspam1118@zugschl.us> - 2021-04-02 21:28 +0200
          Re: Swap auf einem Desktopsystem sinnvoll? Christian Garbs <mitch@cgarbs.de> - 2021-04-02 23:52 +0200
            Re: Swap auf einem Desktopsystem sinnvoll? Juergen Ilse <news@usenet-verwaltung.de> - 2021-04-05 10:04 +0000
          Re: Swap auf einem Desktopsystem sinnvoll? Arno Welzel <usenet@arnowelzel.de> - 2021-04-03 14:39 +0200
        Re: Swap auf einem Desktopsystem sinnvoll? Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-04-03 06:37 +0200
          Re: Swap auf einem Desktopsystem sinnvoll? Andreas Kohlbach <ank@spamfence.net> - 2021-04-03 06:54 -0400
            Re: Swap auf einem Desktopsystem sinnvoll? Marc Haber <mh+usenetspam1118@zugschl.us> - 2021-04-03 15:43 +0200
              Re: Swap auf einem Desktopsystem sinnvoll? Andreas Kohlbach <ank@spamfence.net> - 2021-04-03 10:36 -0400
                Re: Swap auf einem Desktopsystem sinnvoll? Sieghard Schicktanz <Sieghard.Schicktanz@SchS.de> - 2021-04-05 16:12 +0200
                Re: Swap auf einem Desktopsystem sinnvoll? Andreas Kohlbach <ank@spamfence.net> - 2021-04-05 14:24 -0400
                Re: Swap auf einem Desktopsystem sinnvoll? Sieghard Schicktanz <Sieghard.Schicktanz@SchS.de> - 2021-04-06 19:07 +0200
                Re: Swap auf einem Desktopsystem sinnvoll? Andreas Kohlbach <ank@spamfence.net> - 2021-04-06 17:43 -0400
                Re: Swap auf einem Desktopsystem sinnvoll? Marcus Jodorf <trap@killfile.de> - 2021-04-05 23:40 +0200
                Re: Swap auf einem Desktopsystem sinnvoll? Marc Haber <mh+usenetspam1118@zugschl.us> - 2021-04-06 07:25 +0200
                Re: Swap auf einem Desktopsystem sinnvoll? Andreas Kohlbach <ank@spamfence.net> - 2021-04-06 06:58 -0400
                Re: Swap auf einem Desktopsystem sinnvoll? Claus Reibenstein <creibens@gmail.com> - 2021-04-06 17:59 +0200
                Re: Swap auf einem Desktopsystem sinnvoll? Andreas Kohlbach <ank@spamfence.net> - 2021-04-06 13:09 -0400
                Re: Swap auf einem Desktopsystem sinnvoll? Sieghard Schicktanz <Sieghard.Schicktanz@SchS.de> - 2021-04-06 19:13 +0200
                Re: Swap auf einem Desktopsystem sinnvoll? Claus Reibenstein <creibens@gmail.com> - 2021-04-06 21:38 +0200
                Re: Swap auf einem Desktopsystem sinnvoll? Sieghard Schicktanz <Sieghard.Schicktanz@SchS.de> - 2021-04-07 23:54 +0200
                Re: Swap auf einem Desktopsystem sinnvoll? Claus Reibenstein <creibens@gmail.com> - 2021-04-08 13:41 +0200
                Re: Swap auf einem Desktopsystem sinnvoll? Ralph Angenendt <dein.name@strg-alt-entf.org> - 2021-04-08 10:46 +0000
            Re: Swap auf einem Desktopsystem sinnvoll? Juergen Ilse <news@usenet-verwaltung.de> - 2021-04-05 17:28 +0000
              Re: Swap auf einem Desktopsystem sinnvoll? Andreas Kohlbach <ank@spamfence.net> - 2021-04-05 14:30 -0400
                Re: Swap auf einem Desktopsystem sinnvoll? Sieghard Schicktanz <Sieghard.Schicktanz@SchS.de> - 2021-04-06 19:41 +0200
                Re: Swap auf einem Desktopsystem sinnvoll? Andreas Kohlbach <ank@spamfence.net> - 2021-04-06 17:44 -0400
          Re: Swap auf einem Desktopsystem sinnvoll? Juergen Ilse <news@usenet-verwaltung.de> - 2021-04-05 10:08 +0000
            Re: Swap auf einem Desktopsystem sinnvoll? Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-04-05 20:47 +0200
      Re: Swap auf einem Desktopsystem sinnvoll? Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-04-01 18:34 +0200
        Re: Swap auf einem Desktopsystem sinnvoll? Hermann Riemann <nospam.ng@hermann-riemann.de> - 2021-04-01 19:48 +0200
          Re: Swap auf einem Desktopsystem sinnvoll? Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-04-02 13:47 +0200
            Re: Swap auf einem Desktopsystem sinnvoll? Juergen Ilse <news@usenet-verwaltung.de> - 2021-04-02 14:47 +0000
              Re: Swap auf einem Desktopsystem sinnvoll? Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-04-03 02:23 +0200
          Re: Swap auf einem Desktopsystem sinnvoll? Marc Haber <mh+usenetspam1118@zugschl.us> - 2021-04-02 21:29 +0200
          Re: Swap auf einem Desktopsystem sinnvoll? Christian Garbs <mitch@cgarbs.de> - 2021-04-03 00:06 +0200
            Re: Swap auf einem Desktopsystem sinnvoll? Klaus von der Heyde <asc.soc@freenet.de> - 2021-04-03 07:03 +0000
              Re: Swap auf einem Desktopsystem sinnvoll? Christian Garbs <mitch@cgarbs.de> - 2021-04-03 09:23 +0200
        Re: Swap auf einem Desktopsystem sinnvoll? Sieghard Schicktanz <Sieghard.Schicktanz@SchS.de> - 2021-04-05 16:19 +0200
          Re: Swap auf einem Desktopsystem sinnvoll? Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-04-05 23:35 +0200
            Re: Swap auf einem Desktopsystem sinnvoll? Sieghard Schicktanz <Sieghard.Schicktanz@SchS.de> - 2021-04-06 19:52 +0200
      Re: Swap auf einem Desktopsystem sinnvoll? Christian Garbs <mitch@cgarbs.de> - 2021-04-02 23:58 +0200
      Re: Swap auf einem Desktopsystem sinnvoll? Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-04-03 03:32 +0200
        Re: Swap auf einem Desktopsystem sinnvoll? Hermann Riemann <nospam.ng@hermann-riemann.de> - 2021-04-03 05:57 +0200
          Re: Swap auf einem Desktopsystem sinnvoll? Juergen Ilse <news@usenet-verwaltung.de> - 2021-04-05 10:17 +0000
          Re: Swap auf einem Desktopsystem sinnvoll? Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-04-05 21:19 +0200
      Re: Swap auf einem Desktopsystem sinnvoll? Christoph 'Mehdorn' Weber <spam-fuer@das-mehdorn.de> - 2021-06-14 17:59 +0200
  Re: Swap auf einem Desktopsystem sinnvoll? ArnoSandhack@web.de (Arno) - 2021-03-29 14:47 +0200
    Re: Swap auf einem Desktopsystem sinnvoll? Marcus Jodorf <trap@killfile.de> - 2021-03-29 21:33 +0200
    Re: Swap auf einem Desktopsystem sinnvoll? Arno Welzel <usenet@arnowelzel.de> - 2021-03-31 00:39 +0200
  Re: Swap auf einem Desktopsystem sinnvoll? "Andreas M. Kirchwitz" <amk@spamfence.net> - 2021-03-29 16:16 +0000
  Re: Swap auf einem Desktopsystem sinnvoll? Marcel Mueller <news.5.maazl@spamgourmet.org> - 2021-03-31 16:44 +0200
    Re: Swap auf einem Desktopsystem sinnvoll? Marcus Jodorf <trap@killfile.de> - 2021-03-31 21:53 +0200
      Re: Swap auf einem Desktopsystem sinnvoll? Marcel Mueller <news.5.maazl@spamgourmet.org> - 2021-03-31 22:17 +0200
        Re: Swap auf einem Desktopsystem sinnvoll? Marcus Jodorf <trap@killfile.de> - 2021-04-01 17:17 +0200
          Re: Swap auf einem Desktopsystem sinnvoll? Marcel Mueller <news.5.maazl@spamgourmet.org> - 2021-04-01 19:02 +0200
            Re: Swap auf einem Desktopsystem sinnvoll? Juergen Ilse <news@usenet-verwaltung.de> - 2021-04-02 10:18 +0000
              Re: Swap auf einem Desktopsystem sinnvoll? Marcel Mueller <news.5.maazl@spamgourmet.org> - 2021-04-02 16:56 +0200
    Re: Swap auf einem Desktopsystem sinnvoll? Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-03-31 23:10 +0200
      Re: Swap auf einem Desktopsystem sinnvoll? Andreas Kohlbach <ank@spamfence.net> - 2021-04-01 04:00 -0400
        Re: Swap auf einem Desktopsystem sinnvoll? Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-04-01 15:02 +0200
          Re: Swap auf einem Desktopsystem sinnvoll? Juergen Ilse <news@usenet-verwaltung.de> - 2021-04-01 13:29 +0000
          Re: Swap auf einem Desktopsystem sinnvoll? Andreas Kohlbach <ank@spamfence.net> - 2021-04-01 10:47 -0400
            Re: Swap auf einem Desktopsystem sinnvoll? Stefan Möding <Apr2021.5.kill-9@spamgourmet.com> - 2021-04-01 17:36 +0200
              Re: Swap auf einem Desktopsystem sinnvoll? Andreas Kohlbach <ank@spamfence.net> - 2021-04-01 11:50 -0400
                Re: Swap auf einem Desktopsystem sinnvoll? Hermann Riemann <nospam.ng@hermann-riemann.de> - 2021-04-01 20:01 +0200
                Re: Swap auf einem Desktopsystem sinnvoll? Andreas Kohlbach <ank@spamfence.net> - 2021-04-01 16:18 -0400
                Re: Swap auf einem Desktopsystem sinnvoll? Juergen Ilse <news@usenet-verwaltung.de> - 2021-04-02 10:40 +0000
            Re: Swap auf einem Desktopsystem sinnvoll? Marc Haber <mh+usenetspam1118@zugschl.us> - 2021-04-02 21:37 +0200
              [OT] Signal-Rausch-Verhältnis in Diskussionen (was: Swap auf einem Desktopsystem sinnvoll?) Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-04-03 03:09 +0200
                Re: [OT] Signal-Rausch-Verhältnis in Diskussionen Stefan Reuther <stefan.news@arcor.de> - 2021-04-03 10:19 +0200
                Re: [OT] Signal-Rausch-Verhältnis in Diskussionen Sven Hartge <sh-214@svenhartge.de> - 2021-04-04 18:31 +0200
                Re: [OT] Signal-Rausch-Verhältnis in Diskussionen Andreas Kohlbach <ank@spamfence.net> - 2021-04-04 14:48 -0400
                Re: [OT] Signal-Rausch-Verhältnis in Diskussionen "Gerald E:scher" <Spamer@fahr-zur-Hoelle.org> - 2021-04-04 19:47 +0000
                Re: [OT] Signal-Rausch-Verhältnis in Diskussionen Marc Haber <mh+usenetspam1118@zugschl.us> - 2021-04-04 22:13 +0200
                Re: [OT] Signal-Rausch-Verhältnis in Diskussionen Juergen Ilse <news@usenet-verwaltung.de> - 2021-04-05 17:38 +0000
                Re: [OT] Signal-Rausch-Verhältnis in Diskussionen Stefan Reuther <stefan.news@arcor.de> - 2021-04-06 18:34 +0200
      Re: Swap auf einem Desktopsystem sinnvoll? Marcel Mueller <news.5.maazl@spamgourmet.org> - 2021-04-01 19:23 +0200
        Re: Swap auf einem Desktopsystem sinnvoll? Helmut Waitzmann <nn.throttle@xoxy.net> - 2021-04-01 21:55 +0200
    Re: Swap auf einem Desktopsystem sinnvoll? Arno Welzel <usenet@arnowelzel.de> - 2021-04-01 00:30 +0200

csiph-web