ulimit funktioniert nicht richtig
612
mursalin
ich versuche, die speicherauslastung eines prozesses mit ulimit zu begrenzen
ulimit -Sv 100000 ulimit -St 10 fakechroot ./compiledfile
Ich führe den Befehl in demselben Terminal aus (ich verwende Ubuntu 16.04) und der Quellcode der kompilierten Datei ist
#include<stdio.h> int main() { while(1) { malloc(110000000); pf("allocated : %d\n",i); } return 0; }
Der Prozess sollte wegen Speicherlimit beendet werden, aber er läuft bis zum Ablauf der Zeitbegrenzung. Ich verstehe nicht warum. Ich bin Novize, verzeihen Sie mir, wenn die Frage dumm ist .. Jede Hilfe oder ein Vorschlag wird geschätzt. Danke
Nicht sicher, aber erzeugt die "fakechroot" einen neuen Prozess? "ulimit" beeinflusst nur den aktuellen Prozess. Sie könnten versuchen, ein Skript mit `ulimit` und Ihrer` ./compiledfile` in `fakechroot` auszuführen
Joe P vor 7 Jahren
0
@joe P ich habe ohne fakechroot (./compiledfile) bt keine Änderung versucht
mursalin vor 7 Jahren
0
Sie sollten den Rückgabewert von 'malloc' überprüfen. Es wird "NULL" zurückgegeben, wenn die Zuweisung aus Speichergründen oder aus anderen Gründen fehlschlägt.
x22 vor 7 Jahren
1
0 Antworten auf die Frage
Verwandte Probleme
-
6
Muss ich 3 RAM-DIMMs haben, um DDR3 verwenden zu können, oder sogar eine 3-Kanal-CPU betreiben könne...
-
5
Warum läuft mein CPU-Fan, wenn Sie Videos oder virtuelle Maschinen ausführen?
-
4
Gibt es einen bestimmten oder messbaren Vorteil bei der Verwendung von ECC-RAM in einem Desktop-PC?
-
2
iTunes-Speicherverwendung
-
5
So ermitteln Sie, welche Firefox-Add-Ons den meisten Speicher verwenden
-
5
Was soll ich mit meinem alten Gedächtnis machen?
-
3
Wie kann ich feststellen, ob der Arbeitsspeicher auf meinem ASUS P5B MX-Motherboard von 2 auf 4 GB e...
-
6
Warum ist RAM für die neuen Macbooks so teuer?
-
8
"Speicher paarweise installieren" Wie funktioniert das für 3 GB?
-
7
Wohin sind die anderen 0,8 GB RAM gegangen?