I have set ulimit in /etc/security/limits.conf. When I log in into my desktop environment as user testuser normally (using slim login manager), everything works fine.
When I log in as user testuser via Xephyr (from my other session as another user), everything works fine except chromium browser. This is the error I get in dmesg:
Chrome_ChildIOT (2472): VmData 4310827008 exceed data ulimit 4294967296. Update limits or use boot option ignore_rlimit_data.
And chromium is unusable (it starts, but waits indefinitely to load any page)
All other programs except chromium have correct limits set. I have verified this using:
find /proc/ -maxdepth 1 -user testuser -exec cat {}/limits \; | grep 'Max data size'
all PIDs have Max data size set to unlimited:
Max data size unlimited unlimited bytes
except chromium processes:
Max data size 4294967296 4294967296 bytes
Max data size 17179869184 17179869184 bytes
Max data size 17179869184 17179869184 bytes
Max data size 17179869184 17179869184 bytes
Max data size 17179869184 17179869184 bytes
Max data size 17179869184 17179869184 bytes
Max data size 17179869184 17179869184 bytes
Max data size 17179869184 17179869184 bytes
I would like to understand:
1) why does chromium have different limits than all other programs ?
2) where do the "default" limits come from (where does chromium take the limit 4294967296 from ?
3) how can I change these default limits once and for all, globally, for all processes regardless whether they use pam or not ?
/etc/security/limits.conf", but make no further mention of it. What did you set it to?