Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

limits.conf bringt Chrome durcheinander

9 views
Skip to first unread message

Tim Ritberg

unread,
Apr 6, 2021, 4:31:15 PM4/6/21
to
Hi!

Ich habe zur Sicherheit ein Speicherlimit für meinen Linuxuser in
limits.conf eingestellt:
tim hard as 30000000

Das müssten dann 30GB sein, also 2 GB weniger als mein kompletter RAM.

Diese Einstellung mag aber weder Chrome noch Chromium. Jeder Tab crasht
sofort mit SIGTRAP.

Versteht das jemand?

Tim

--
Xubuntu 20.10 64 bit, Kernel 5.8
ASRock x470 Taichi, 32 GB RAM, Ryzen 7 3700X

Helmut Waitzmann

unread,
Apr 6, 2021, 9:34:00 PM4/6/21
to
Tim Ritberg <t...@server.invalid>:

>Ich habe zur Sicherheit ein Speicherlimit für meinen Linuxuser in
>limits.conf eingestellt:
>tim hard as 30000000
>
>Das müssten dann 30GB sein, also 2 GB weniger als mein kompletter
>RAM.

Bist Du sicher?  Im Systemaufruf prlimit werden die Limites in Bytes
gemessen. 

Um die eingestellte Grenze herauszufinden, starte mal statt Chrome
das Programm «prlimit»: 

prlimit

Was gibt es aus? 

Tim Ritberg

unread,
Apr 7, 2021, 3:01:40 AM4/7/21
to
Am 07.04.21 um 03:15 schrieb Helmut Waitzmann:
AS address space limit 30720000000 30720000000 Bytes

also: 30.720.000.000

Lief auch jahrelang gut so.

Tim

Helmut Waitzmann

unread,
Apr 7, 2021, 10:20:41 AM4/7/21
to
Tim Ritberg <t...@server.invalid>:

>Ich habe zur Sicherheit ein Speicherlimit für meinen Linuxuser in
>limits.conf eingestellt:
>tim hard as 30000000
>
>Das müssten dann 30GB sein, also 2 GB weniger als mein kompletter
>RAM.
>
>Diese Einstellung mag aber weder Chrome noch Chromium. Jeder Tab
>crasht sofort mit SIGTRAP.

SIGTRAP?  Im Handbuch «signal(7)» finde ich:


SIGTRAP 5 Core Trace/breakpoint trap

Das sieht mir nicht nach Speichermangel aus.  Bei Zugriff auf eine
Adresse, hinter der kein Speicher steckt, erwarte ich SIGSEGV. 

Helmut Waitzmann

unread,
Apr 7, 2021, 10:20:43 AM4/7/21
to
Tim Ritberg <t...@server.invalid>:
>Am 07.04.21 um 03:15 schrieb Helmut Waitzmann:

>> Um die eingestellte Grenze herauszufinden, starte mal statt
>> Chrome das Programm «prlimit»:
>>
>> prlimit
>>
>> Was gibt es aus?
>
>AS address space limit 30720000000 30720000000 Bytes
>
>also: 30.720.000.000
>

Sieht eindeutig nach 30.000.000 KiB aus.  Daran scheint es also
nicht zu liegen. 

Arno Welzel

unread,
Apr 7, 2021, 11:27:26 AM4/7/21
to
Tim Ritberg:

> Hi!
>
> Ich habe zur Sicherheit ein Speicherlimit für meinen Linuxuser in
> limits.conf eingestellt:
> tim hard as 30000000
>
> Das müssten dann 30GB sein, also 2 GB weniger als mein kompletter RAM.
>
> Diese Einstellung mag aber weder Chrome noch Chromium. Jeder Tab crasht
> sofort mit SIGTRAP.
>
> Versteht das jemand?

Nein. Aber Du könntest Chrome mit der Option

--enable-logging=stderr

in einer Konsole starten und dann sehen, welche Fehler er bis dahin
produziert. Siehe auch
<https://www.chromium.org/for-testers/enable-logging>.

--
Arno Welzel
https://arnowelzel.de

Enrik Berkhan

unread,
Apr 7, 2021, 11:53:05 AM4/7/21
to
Ich denke, es liegt daran, dass RLIMIT_AS für "maximum size of the
process's virtual memory" steht. Ich würde einfach mal nachgucken,
wieviel so ein Chrome davon belegt, wenn er nicht limitiert wird.

Gruß,
Enrik

Tim Ritberg

unread,
Apr 7, 2021, 12:18:22 PM4/7/21
to
Am 07.04.21 um 17:27 schrieb Arno Welzel:
>
> Nein. Aber Du könntest Chrome mit der Option
>
> --enable-logging=stderr
>
> in einer Konsole starten und dann sehen, welche Fehler er bis dahin
> produziert. Siehe auch
> <https://www.chromium.org/for-testers/enable-logging>.
>

Hatte ich schon und von euch scheint sich da fast keiner rumzutreiben:
de.comp.os.unix.apps.misc

Die Meldung macht es noch wirrer:
ERROR:nss_util.cc(286)] After loading Root Certs, loaded==false: NSS
error code: -8018

8018 bedeutet: SEC_ERROR_UNKNOWN_PKCS11_ERROR

Tim

Tim Ritberg

unread,
Apr 7, 2021, 12:32:57 PM4/7/21
to
Am 07.04.21 um 17:50 schrieb Enrik Berkhan:
>
> Ich denke, es liegt daran, dass RLIMIT_AS für "maximum size of the
> process's virtual memory" steht. Ich würde einfach mal nachgucken,
> wieviel so ein Chrome davon belegt, wenn er nicht limitiert wird.
>

Ein Chrome ohne Addons ohne fast leerem Profil soll mehr als 32GB
verbrauchen???

Tim

Enrik Berkhan

unread,
Apr 7, 2021, 1:53:05 PM4/7/21
to
Tim Ritberg <t...@server.invalid> wrote:
> Ein Chrome ohne Addons ohne fast leerem Profil soll mehr als 32GB
> verbrauchen???

Also bei mir zeigt `top' ~40G. Wie gesagt, address space. Nicht
"belegter Speicher". Mal setrlimit(2) gelesen?

Gruß,
Enrik

Tim Ritberg

unread,
Apr 7, 2021, 2:20:48 PM4/7/21
to
Am 07.04.21 um 19:33 schrieb Enrik Berkhan:
Ich habe mal strace laufen lassen, noch mit dem gesetzten Limit:

382366:mmap(0x219c00000000, 34359738368, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM
382366:mmap(0x219c00000000, 34359738368, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM
382367:mmap(0x210400000000, 34359738368, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM
log.txt.382367:mmap(0x210400000000, 34359738368, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM
382407:mmap(0x1bfc00000000, 34359738368, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM
382407:mmap(0x1bfc00000000, 34359738368, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM
382412:mmap(0x329c00000000, 34359738368, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM
382412:mmap(0x329c00000000, 34359738368, PROT_NONE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM

Der Output ist von allen Forks.

Firefox dageben läuft ohne Probleme.

Tim Ritberg

unread,
Apr 8, 2021, 1:06:29 PM4/8/21
to
Am 07.04.21 um 16:15 schrieb Helmut Waitzmann:
https://askubuntu.com/questions/1244763/ubuntu-specific-ram-issues-chrome-crashing-and-memtest86-freezing

Chrome ist komisch :D

Tim

Enrik Berkhan

unread,
Apr 8, 2021, 2:13:06 PM4/8/21
to
Hi,

Tim Ritberg <t...@server.invalid> wrote:
> Ich habe zur Sicherheit ein Speicherlimit für meinen Linuxuser in
> limits.conf eingestellt:
> tim hard as 30000000

Mal ne andere Frage: warum hast du das denn eigentlich getan?
("zur Sicherheit"?)

Gruß,
Enrik

Tim Ritberg

unread,
Apr 8, 2021, 2:18:06 PM4/8/21
to
Am 08.04.21 um 20:06 schrieb Enrik Berkhan:
Damit der OOM-Killer nicht zuschlägt. Sollte ein Programm Amok laufen,
kann es das bis zu 30GB tun, 2 GB fürs System sind dann noch frei.

Tim

Enrik Berkhan

unread,
Apr 9, 2021, 4:33:05 AM4/9/21
to
Tim Ritberg <t...@server.invalid> wrote:
> Damit der OOM-Killer nicht zuschlägt. Sollte ein Programm Amok laufen,
> kann es das bis zu 30GB tun, 2 GB fürs System sind dann noch frei.

Dafür taugt dann der Ansatz mit dem "address space" limit für "moderne"
Software wohl nicht (mehr).

Ich habe mir das Verhalten von chrome bei mir nochmal angesehen: der
erzeugt einfach in jedem Prozess ziemlich am Anfang ein 32GB private
anonymous mapping. Deshalb braucht der soviel "address space". Belegter
Speicher ist das ja noch lange nicht. Weiter habe ich nicht geguckt. Es
gibt noch mehr solche Software, 'evolution' ist bei mir typischerweise
um die 100GB groß.

Gruß,
Enrik

Tim Ritberg

unread,
Apr 9, 2021, 7:28:58 AM4/9/21
to
Am 09.04.21 um 10:27 schrieb Enrik Berkhan:
Warum tut der das? Und vor allem war das 7 Jahre lang nicht so.
Evolution hatte ich mal kurz getestet, wegen Kalender, das lief aber.

Tim

Enrik Berkhan

unread,
Apr 9, 2021, 12:53:06 PM4/9/21
to
Tim Ritberg <t...@server.invalid> wrote:
> Warum tut der das?

Auf Linux benutzt Chrome tcmalloc. Zwar auf einem lokalen branch, aber
das design document von tcmalloc liefert im vorletzten Absatz einen gut
passenden Hinweis, zumindest dass sie es tun:

"It is worth noting that TCMalloc requests memory from the OS in large
chunks (typically 1 GiB regions). The address space is reserved, but not
backed by physical memory until it is used. Because of this approach the
VSS of the application can be substantially larger than the RSS. A side
effect of this is that trying to limit an application's memory use by
restricting VSS will fail long before the application has used that much
physical memory."

(https://github.com/google/tcmalloc/blob/master/docs/design.md)

Nach dem Warum muss man halt noch tiefer graben. Dein Problem ist im
letzten Satz schön zusammengefasst. Die Spur könnte also stimmen.

Gruß,
Enrik

Tim Ritberg

unread,
Apr 9, 2021, 1:10:42 PM4/9/21
to
Am 09.04.21 um 18:41 schrieb Enrik Berkhan:
Nur haben sie es 15 Jahre anders gemacht und ich würde sagen besser.

Tim

Christian Garbs

unread,
Apr 9, 2021, 4:06:54 PM4/9/21
to
Mahlzeit!

Tim Ritberg <t...@server.invalid> wrote:
> Am 09.04.21 um 10:27 schrieb Enrik Berkhan:

>> Ich habe mir das Verhalten von chrome bei mir nochmal angesehen: der
>> erzeugt einfach in jedem Prozess ziemlich am Anfang ein 32GB private
>> anonymous mapping. Deshalb braucht der soviel "address space". Belegter
>> Speicher ist das ja noch lange nicht. […]

> Warum tut der das?

Vielleicht als Sandboxing? Anwendungsinternes Adressen-Randomisieren?

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
Glaube nicht alles, was im Internet steht.
--Abraham Lincoln

Tim Ritberg

unread,
Apr 15, 2021, 12:23:32 PM4/15/21
to
Am 07.04.21 um 20:20 schrieb Tim Ritberg:

> Ich habe mal strace laufen lassen, noch mit dem gesetzten Limit:
>
> 382366:mmap(0x219c00000000, 34359738368, PROT_NONE,

Der neue Chrome zeigt nicht mal ein Fenster :-D

Trace/Breakpoint ausgelöst (Speicherabzug geschrieben)


Tim
0 new messages