1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21# 22# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23# Use is subject to license terms. 24# 25# ident "%Z%%M% %I% %E% SMI" 26 27# Creates a fileset with 20,000 entries ($nfiles), but only preallocates 28# 50% of the files. Each file's size is set via a gamma distribution with 29# a median size of 1KB ($filesize). 30# 31# The single thread then creates a new file and writes the whole file with 32# 1MB I/Os. The thread stops after 5000 files ($count/num of flowops) have 33# been created and written to. 34 35set $dir=/tmp 36set $count=15000 37set $filesize=1k 38set $iosize=1m 39set $meandirwidth=100000 40set $nfiles=20000 41set $nthreads=1 42 43define fileset name=bigfileset,path=$dir,size=$filesize,entries=$nfiles,dirwidth=$meandirwidth,prealloc=50 44 45define process name=filecreate,instances=1 46{ 47 thread name=filecreatethread,memsize=10m,instances=$nthreads 48 { 49 flowop createfile name=createfile1,filesetname=bigfileset,fd=1 50 flowop writewholefile name=writefile1,filesetname=bigfileset,fd=1,iosize=$iosize 51 flowop closefile name=closefile1,fd=1 52 flowop finishoncount name=finish,value=$count 53 } 54} 55 56echo "FileMicro-Createfiles Version 2.2 personality successfully loaded" 57usage "Usage: set \$dir=<dir>" 58usage " set \$count=<value> defaults to $count" 59usage " set \$filesize=<size> defaults to $filesize" 60usage " set \$iosize=<size> defaults to $iosize" 61usage " set \$meandirwidth=<value> defaults to $meandirwidth" 62usage " set \$nfiles=<value> defaults to $nfiles" 63usage " set \$nthreads=<value> defaults to $nthreads" 64usage " " 65usage " run runtime (e.g. run 60)" 66