栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

编写一个bash shell脚本,该脚本在用户定义的时间内消耗恒定数量的RAM。

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

编写一个bash shell脚本,该脚本在用户定义的时间内消耗恒定数量的RAM。

即使不支持传统的Bash数组,也仍然可以使用

eval
特定Shell中内置的命令来创建类似数组的变量。

以下示例脚本基于我在嵌入式Linux项目中使用BusyBox时执行的一些脚本。
BusyBox使用Almquist
Shell
(也称为A Shell,ash和sh),它不支持数组。

#!/bin/ashfor index in 1 2 3 4 5; do    value=$(($index * 1024))    eval array$index="array[$index]: $value"donefor i in 1 3 5; do    eval echo $array$idone

使用时请小心报价

eval

输出:

array[1]: 1024array[3]: 3072array[5]: 5120

根据您的特定情况,类似于以下内容的脚本可能就足够了。

#!/bin/ashecho "Provide sleep time in the form of NUMBER[SUFFIX]"echo "   SUFFIX may be 's' for seconds (default), 'm' for minutes,"echo "   'h' for hours, or 'd' for days."read -p "> " delayecho "begin allocating memory..."for index in $(seq 1000); do    value=$(seq -w -s '' $index $(($index + 100000)))    eval array$index=$valuedoneecho "...end allocating memory"echo "sleeping for $delay"sleep $delay

在我的简短测试中,此脚本在指定的5分钟时间段内消耗了约570M至〜575M的物理内存*。

*在单独的测试中使用top和memprof程序进行监视



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367453.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号