我所有的只是Bourne shell和busy box。 有什麼辦法來運行一個python腳本或編譯C程序或如Perl任何語言..忙碌的箱子,運行C,Python或Perl程序
像 busybox python eatmemory.py 100M
或
busybox gcc eatmemory.c
我需要的是創建一個進程這將消耗特定量的內存。並測試性能。
感謝
我所有的只是Bourne shell和busy box。 有什麼辦法來運行一個python腳本或編譯C程序或如Perl任何語言..忙碌的箱子,運行C,Python或Perl程序
像 busybox python eatmemory.py 100M
或
busybox gcc eatmemory.c
我需要的是創建一個進程這將消耗特定量的內存。並測試性能。
感謝
如果您問題是
busybox
是否帶有python
解釋器或C編譯器?
那麼答案是否定的。
如果
是否有寫一個腳本,將
busybox
下「ash
外殼將只分配一些內存我跑的方式?
然後參見this答案,正如安德烈所建議的那樣。
一個簡單的Perl腳本:
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";
假設你命名的腳本eat_memory.pl
,通過啓動:
perl eat_memory.pl 150
,其中150表示兆
可能的重複:http://stackoverflow.com/questions/4964799/write-a-bash-shell-script-that-consumes-a-constant-amount-of-ram-for-a-user-defi – 2013-05-06 06:18:36
你有什麼系統?你在你的筆記本電腦/臺式機上安裝了Linux嗎(首先,要學習Linux,其次是交叉編譯)?您也可以考慮使用tinycc(即'tcc',它可以將C代碼快速編譯爲未優化的機器代碼)。 – 2013-05-06 06:35:48