bash: fork: Die Ressource ist zur Zeit nicht verfügbar

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
HardHat
Beiträge: 296
Registriert: 09.11.2003 00:29:19
Kontaktdaten:

bash: fork: Die Ressource ist zur Zeit nicht verfügbar

Beitrag von HardHat » 18.01.2004 15:06:52

Hi,

ich habe das Problem, dass mein Debian Woody offenbar manchmal keine neuen Prozesse erzeugen kann. Ich habe dann z.B. eine bash offen und gebe ls -la ein, bekomme aber statt eines Verzeichnislistings folgende Meldung:

Code: Alles auswählen

$ ls -la
bash: fork: Die Ressource ist zur Zeit nicht verfügbar
Gibt es irgendeine Beschränkung der möglichen Prozesse? Kann ich den Wert irgendwo erhöhen? An der Prozessorauslasung kann es eigentlich nicht liegen, denn das System hat praktisch nix zu tun:

Code: Alles auswählen

$ uptime
16:35:28 up 15 days, 20:34, 1 user, load average: 0.00, 0.03, 0.08
Am Speicher kann es eigentlich auch nicht liegen. Wenn ich die Ausgabe richtig interpretiere ist noch gut die Hälfte des RAM noch frei und swap ist so gut wie ungenutzt:

Code: Alles auswählen

$ free
             total       used       free     shared    buffers     cached
Mem:        516164     510748       5416          0      28960     223204
-/+ buffers/cache:     258584     257580
Swap:       256880      95716     161164
Was kann ich tun?

Olaf Dietsche
Beiträge: 520
Registriert: 12.06.2003 23:18:50
Wohnort: Siegburg

Beitrag von Olaf Dietsche » 18.01.2004 15:12:29

Wenn die Prozesstabelle voll ist, können keine weiteren gestartet werden.

Mich wundert, daß du ls nicht ausführen kannst, aber uptime und free problemlos gestartet werden.

Benutzeravatar
HardHat
Beiträge: 296
Registriert: 09.11.2003 00:29:19
Kontaktdaten:

Beitrag von HardHat » 25.01.2004 23:50:57

Wo kann man den Infos über die Prozesstabelle abfragen. Vielleicht irgendwo unter /proc/...? Und gibt's eine Option wo man die größe dieser Tabelle einstellen kann?

Das ls Kommando war nur ein Beispiel, an dem mir das Ganze zum ersten Mal aufgefallen ist. Das Problem kommt aber bei uptime und free genauso vor. Ich probiere es dann halt ein paar mal und irgendwann klappt's. Auf die Art macht die Arbeit mit dem System nicht wirklich Spass. Ich hoffe es hat jemand noch einen guten Tipp für mich.

s4p
Beiträge: 320
Registriert: 28.12.2003 05:01:07

Beitrag von s4p » 26.01.2004 06:07:44

Code: Alles auswählen

$ top
Da siehst du die Prozesse (tabelle)

MfG
Teufler2k4

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 26.01.2004 14:03:47

Oder "ps auxww" :) ... Und schau mal, was die ulimit Deiner Shell dazu sagt mit "ulimit -u" !

Gruss, mistersixt.

Benutzeravatar
HardHat
Beiträge: 296
Registriert: 09.11.2003 00:29:19
Kontaktdaten:

Beitrag von HardHat » 26.01.2004 22:11:35

Code: Alles auswählen

ulimit -u
gibt mir 256 aus. Leider ist die man-page von ulimit aber wenig aufschlussreich und beschreibt nur die C-Funktion ulimit(int, long) aber nicht das Programm ulimit und welcher Parameter was bedeutet.

Benutzeravatar
spiffi
Beiträge: 1128
Registriert: 09.08.2003 19:02:27

Beitrag von spiffi » 26.01.2004 22:26:31

ulimit ist ein Shell-Builtin. Such mal in der man-page der bash nach ulimit.

Benutzeravatar
HardHat
Beiträge: 296
Registriert: 09.11.2003 00:29:19
Kontaktdaten:

Beitrag von HardHat » 26.01.2004 23:12:48

na das ist ja einfach... wenn man erst mal weiss wie es geht.

Code: Alles auswählen

ulimit -u 512
eingegeben und schon wird die maximale Prozesszahl mit 512 zurückgegeben. Und das auch noch als Nicht-Root-Benutzer. Irgendwie eine komische Art von Resourcenbegrenzung, wenn sich jeder User die Grenzen doch nach Lust und Laune erweitern kann. - naja egal: macht ja wahrscheinlich doch niemand, weil niemand weiss, dass es diese Grenzen überhaupt gibt. :wink:

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 27.01.2004 08:15:45

Es gibt da sogenannte "Soft-Limits" und auch "Hard-Limits". Letztere darf eine Shell nicht überschreiben ;) ...


Gruss, mistersixt.

Benutzeravatar
CereS
Beiträge: 167
Registriert: 08.11.2003 18:07:44
Wohnort: Ruhrpott

Beitrag von CereS » 27.01.2004 08:37:40

Hat vielleicht nichts mit Deinem Problem zu tun.
ich hatte das gleiche Problem auf meinem Router schonmal - da lag es allerdings am
fehlerhaften Speicher. Allerdings kamen da auch noch etliche nicht vorhersagbare "segmentation faults" dazu.

Gruß,
Chris
"Friede seiner Asche" wird geschüttelreimt zu
"Ade seiner Frische", was auf das gleiche hinauskommt.

Antworten