ForumGilt der Wert “open files” in ulimit auch für root?
Karsten Bergmann – Montag, 25. Februar 2013 08:03 Uhr

Guten Morgen,

wenn ich mir mit “ulimit -a” die aktuell gesetzten Werte anzeigen lassen, dann steht der Wert für “open files” auf 1024. Gilt dieser Wert nur für normale Benutzer oder auch für root?

Gruß,

Karsten

1 Antwort
Keiner – Montag, 25. Februar 2013 10:34 Uhr

Für root sollte ulimit -a den Wert unlimited ausspucken. Unter welchem Benutzerkonto hast du denn ulimit -a aufgerufen?

Karsten Bergmann – Montag, 25. Februar 2013 16:44 Uhr

Hi,

wenn ich als root auf einem Ubuntu 12.10 “ulimit -a” eingebe, dann steht in der Ausgabe:

open files (-n) 1024

Gruss,

Karsten

man-draker – Dienstag, 26. Februar 2013 15:07 Uhr

Dann hast du ein anderes Ubuntu 12.10 als ich:

man-draker@ThinkPad-X121e:~$ sudo ulimit -a
[sudo] password for man-draker:
sudo: ulimit: Befehl nicht gefunden
man-draker@ThinkPad-X121e:~$ ulimit
unlimited
man-draker@ThinkPad-X121e:~$

:)
3.5.0-25-generic #38-Ubuntu SMP

Karsten Bergmann – Dienstag, 26. Februar 2013 20:16 Uhr

Hi man-draker,

könntest Du bitte einmal folgendes eingeben und den Output posten:

su –
ulimit -a

Danke & Gruss,

Karsten

man-draker – Mittwoch, 27. Februar 2013 07:03 Uhr

man-draker@ThinkPad-X121e:~$ su –
Passwort:
su: Fehler bei Authentifizierung
man-draker@ThinkPad-X121e:~$

Wir sind ja schließlich bei Ubuntu.

Aber ich hätte noch folgende Variante anzubieten:

man-draker@ThinkPad-X121e:~$ sudo su
[sudo] password for man-draker:
root@ThinkPad-X121e:/home/man-draker# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 28940
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 28940
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
root@ThinkPad-X121e:/home/man-draker#

Karsten Bergmann – Mittwoch, 27. Februar 2013 08:17 Uhr

Hi,

>man-draker@ThinkPad-X121e:~$ su –
>Passwort:
>su: Fehler bei Authentifizierung
>man-draker@ThinkPad-X121e:~$
>
>Wir sind ja schließlich bei Ubuntu.
>
deswegen ist auch meine erste Amtshandlung nach der Installation, root ein Password zu geben. ;-))

>root@ThinkPad-X121e:/home/man-draker# ulimit -a
>core file size (blocks, -c) 0
…..
>open files (-n) 1024
>
Und nun? Gilt dieser Wert nun auch für root oder nicht? ;-))))

Gruss,

Karten

Dschouka – Mittwoch, 13. März 2013 00:20 Uhr

Kann man ganz leicht mit folgendem C-Programm überprüfen:

#include
#include

uint16_t i = 0;
FILE *fp[5000];

int main()
{
for(i = 0; i < 5000; i++) { if(fp[i] = tmpfile()) { printf("Open file %u\n", i); } } return 0; } Das Ganze wird kompiliert mit: # gcc filebomb.c -o filebomb Jetzt der Test: # ulimit -n -S 1024 # ./filebomb Open file 0 Open file 1 Open file 2 ... Open file 1020 # ulimit -n 2000 # ./filebomb Open file 0 Open file 1 Open file 2 ... Open file 1996 Der max. Wert von ulimit wird im Test nicht ganz erreicht, da neben den temporären Dateien des C-Programms auch bereits andere Dateien geöffnet sind (in diesem Beispiel 3). Wichtig ist, dass sich ulimit immer auf die aktuelle Login-Session bezieht, und nicht systemweit gilt!