2013-05-06 5 views
5

Alles, was ich habe, ist Bourne Shell und beschäftigt Box. Gibt es eine Möglichkeit ein Python-Skript oder kompilieren ac Programm oder alle Sprachen wie Perl zu laufen ..Beschäftigt Box, Run C, Python oder Perl-Programme

wie busybox python eatmemory.py 100M

oder

busybox gcc eatmemory.c

Was ich brauche, ein Verfahren zu erstellen ist was eine bestimmte Menge an Speicher verbraucht. und testen Sie die Leistung.

Dank

+1

Mögliches Duplikat: http://stackoverflow.com/questions/4964799/write-a-bash-shell-script-that-consumes-a-constant-amount-of-ram-for-a-user-defi –

+1

Welches System hast du? Haben Sie Linux auf Ihrem Laptop/Desktop installiert (zum einen um Linux zu lernen und zum anderen um Cross-Compiling)? Sie könnten auch in Erwägung ziehen, tinycc zu verwenden (d.h. "tcc", das schnell C-Code in nicht optimierten Maschinencode kompiliert). –

Antwort

3

repräsentiert Wenn Ihr Frage ist

Wird busybox mit einem python Interpreter oder C-Compiler geliefert?

dann ist die Antwort nein.

Wenn es

ist

Gibt es eine Möglichkeit, ein Skript zu schreiben, die unter busybox 'ash Shell ausgeführt werden, die nur für mich etwas Speicher wird zuteilen?

dann sehen this Antwort, wie Andrey vorgeschlagen.

1

ein einfaches Perl-Skript:

use strict; 
use warnings; 

# store and validate the command line parameter 
my $mb = $ARGV[0]; 
unless (defined $mb and $mb =~ /^\d+$/ and $mb >= 1) { 
    die "Usage: $0 <occupy MB>\nEx: $0 100 - occupies 100 MB memory\n" 
} 
# convert it to bytes. 
my $b = $mb * 1024 * 1024; 

my $memfile; 

# open in-memory file, and seek to size specified to get memory from OS. 
open MEM, '>', \$memfile; 
seek MEM, $b - 1, 0; 
print MEM 'A'; 
close MEM; 
printf "$mb MB memory is occupied, press ENTER to release: "; <STDIN>; 

# till here the memory is occupied by this program. 
undef $memfile; 
printf "Memory released"; 

vorausgesetzt, Sie den Namen des Skripts eat_memory.pl, starten Sie es nach:

perl eat_memory.pl 150 

, wo die 150 Megabyte

+0

Danke, aber ich kann Perl nicht auf der Maschine laufen lassen, ich kann nur busybox benutzen. Und ich fand keine Möglichkeit, c oder Python oder Perl Programm mit busybox – limovala

+0

@AbhishekLal ausführen Wenn Sie Perl nicht ausführen können, warum haben Sie es als Tag auf der Frage? –

+0

@Brad Gilbert Ich habe es wegen meiner Zweifel hinzugefügt "Kommt Busybox mit einem Python Interpreter, Perl oder C Compiler?" – limovala