Hi Bernhard,
On Mon, Oct 05, 2009 at 21:00:41 +0200, Bernhard Schiffner wrote:
Ohne Anspruch auf Vollstaendigkeit:
1.) Gelten die per user und werden beim login festgelegt?
Sie gelten mindestens per Prozess. Wenn die Limits beim Login festgelegt werden, dann meistens durch PAM. Siehe 3.)
2.) Gelten die per process | thread?
Per Prozess auf jeden Fall, siehe auch /proc/<PID>/limits. Bei Threads bin ich mir nicht sicher.
3.) Werden die in /etc/security/limits vereinbart?
/etc/security/limits.conf ist die Konfigurationsdatei von pam_limits.so. Wird dieses PAM-Modul waehrend einer Authentifizierung benutzt, setzt es Limits entsprechend der Konfigdatei.
4.) Wie kommt ein "normaler" user da ran?
getrlimit() und setrlimit() hast Du schon im Subject stehen. Was sind die Fragen dazu?
(sched_setscheduler() gibt -ENOPERM zurueck ...)
Disclaimer: Im Bereich Realtime kenne ich mich genau gar nicht aus. Laut Manpage kann man als non-root die sched_priority nur erhoehen, wenn RLIMIT_RTPRIO (Eintrag "Max realtime priority" in /proc/<PID>/limits) groesser Null ist und als Scheduler SCHED_RR bzw. SCHED_FIFO benutzt wird. Laeuft der Prozess mit der Capability CAP_SYS_NICE, kann die sched_priority ohne Beachtung der Limits erhoeht werden.
Gruss, Chris