PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einschränkungen setzen mit der limits.conf



taylor
15.09.04, 15:50
Hallo!

Ich habe mich jetzt einmal zu oft darüber geärgert, dass durch einen Bedienfehler oder ein kaputtes Programm mein Rechner total in die Knie ging, und will das in Zukunft verhindern.

Vorhin hatte ich z.B. das Problem, dass tausende von "aterm" Prozessen das System gekillt haben, aber genauso gut habe ich mir beim Spielen mit Pointern in C auch schonmal ein Programm "gebaut", dass versehentlich sämtlichen Speicher belegt hat.
Ich denke mir also, das eine Beschränkung der Prozess-Anzahl und auch eine Beschränkung des vom "User" zu belegenden Arbeitsspeichers dazu nötig sind.

Meine bisherige Suche verriet mir, dass die /etc/login.defs mitlerweile dafür nicht mehr benutzt werden soll, sondern stattdessen PAM mit der /etc/security/limits.conf.

Die Datei ist zwar dokumentiert, absolut schlau werde ich daraus alleine allerdings nicht:


#<item> can be one of the following:
# - core - limits the core file size (KB)
# - data - max data size (KB)
# - fsize - maximum filesize (KB)
# - memlock - max locked-in-memory address space (KB)
# - nofile - max number of open files
# - rss - max resident set size (KB)
# - stack - max stack size (KB)
# - cpu - max CPU time (MIN)
# - nproc - max number of processes
# - as - address space limit
# - maxlogins - max number of logins for this user
# - priority - the priority to run user process with
# - locks - max number of file locks the user can hold

Die Anzahl der Prozesse habe ich wohl so auf 128 begrenzt:


* - nproc 128

Nun soll auch noch der Speicher reglementiert werden. Dabei stellt sich mir die Frage, welches "Item" nun benutzt werden soll.
Was ist der Unterschied zwischen memlock und rss?
Ist vieleicht auch data oder stack notwendig?

Ich hoffe, mir kann das jemand hier erklären. Herzlichen Dank jedenfalls für's lesen. :)

Gruß,
taylor