Linuxでメモリを大量消費するテストがしたいです。

できれば、shellで書くだけで済ませたいのですが何かいい方法がありませんか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2010/02/03 14:55:16
  • 終了:2010/02/10 15:00:03

回答(4件)

id:myiia No.1

myiia回答回数41ベストアンサー獲得回数52010/02/03 15:34:57

ポイント23pt

MSNの相談箱に似たようなものがありました。

ご参考まで。

http://questionbox.jp.msn.com/qa1135215.html

id:pinkymonk

ありがとうございます。

Cならいいですね。

2010/02/03 15:48:25
id:mjy No.2

mjy回答回数67ベストアンサー獲得回数202010/02/03 20:19:44

ポイント23pt
#! /bin/sh
# Enter を押すとメモリが消費されます
# 未テストです

echo PID=$$
echo -n "Enter=more EOF(^D)=exit >"
c=0
while  read byte; do
	eval a$c'=$(head --bytes 5000000 /dev/zero |cat -v)'
	c=$(($c+1))
	echo -n ">"
done
echo

# ダミー URL http://ja.wikipedia.org/wiki/Bourne_Shell

id:pinkymonk

ををっ

2010/02/05 11:11:17
id:morethanjustase No.3

morethanjustase回答回数35ベストアンサー獲得回数52010/02/04 00:19:45

ポイント22pt

tmpfs( /dev/shm )を使って、ddコマンド等で /dev/shm 配下にファイルを作成する方法が簡単ですよ。

ただし、この手順にあるように、テストに必要な容量をtmpfsにあらかじめ確保しておく必要があります。

http://plaza18.mbn.or.jp/~moriban/linux/RAMDiskPerformance.html

id:pinkymonk

すばらしい

2010/02/05 11:11:24
id:ardarim No.4

ardarim回答回数892ベストアンサー獲得回数1422010/02/04 00:22:24

ポイント22pt

こちらはどうでしょうか。

stress | freshmeat.net

例えば

stress --vm 2 --vm-bytes 128M --vm-hang

とすると、128MBをmalloc()するプロセスを2つforkします(結果的に128MB×2=256MBをアロケートします)。

  • vm パラメータと --vm_bytes パラメータでどのくらい消費するかを自由に制御できます。
id:pinkymonk

ありがとうございます

2010/02/05 11:11:34

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません