cgroup memory.limit_in_bytes: Sind VIRT oder RES begrenzt?

1584
reikred

Angenommen, die VIRT / RES / SHM-Terminologie, die das Dienstprogramm "top" verwendet:

Gilt cgroup memory.limit_in_bytesfür VIRT- oder RES-Speichergrößen? Ich frage, weil es mir in Fedora 23 so aussah, als sei der Speicher von RES (resident) durch cgroup begrenzt. Dann habe ich Fedora 25 installiert, und plötzlich bekam ich häufige Prozessabbrüche, die vorher noch nicht stattgefunden haben (einige dmesg-Ausgaben unten, um das Problem zu veranschaulichen). Ich habe die Vermutung, dass sich cgroup zwischen Fedora 23 und 25 geändert hat und jetzt VIRT anstelle der Nutzung des RES-Speichers zu beschränken scheint.

Kann jemand meinen Verdacht bestätigen? Und gibt es eine Möglichkeit, das alte Verhalten zurückzubekommen? Ich habe in den cgroup-Kernel-Dokumenten gesucht, aber nichts gefunden, vielleicht weil ich mit falscher Terminologie suche.

dmesg Ausgabe:

Tue Jun 20 01:46:12 2017: Memory cgroup out of memory: Kill process 787 (Web Content) score 204 or sacrifice child Tue Jun 20 01:46:12 2017: Killed process 787 (Web Content) total-vm:14151032kB, anon-rss:5000940kB, file-rss:6132kB, shmem-rss:115956kB 
5

1 Antwort auf die Frage

2
victorgp

Sie gilt für den Benutzerspeicher einschließlich des Dateicache.

Überprüfen Sie memory.limit_in_bytes hier https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-memory.html

memory.limit_in_bytes legt die maximale Größe des Benutzerspeichers (einschließlich Dateicache) fest.

Sein:

cache: Seitencache, einschließlich tmpfs (shmem), in Byte

rss: anonym und Swap-Cache, ohne tmpfs (shmem), in Byte