小编Alf*_*.37的帖子

如何用/dev/random的输出填充一定量的RAM?

以下命令行可用于分配任意数量的内存,例如 1GB。内存区域被零填充。

</dev/zero head -c $((1024**3)) | tail
Run Code Online (Sandbox Code Playgroud)

然而,如何用随机数类似地填充给定数量的内存,例如 1GB?

与预期相反,以下两个变体不会导致工作内存的可选择分配大小,而是在终端中输出数百个随机字符:

</dev/random head -c $((1024**3)) | tail
Run Code Online (Sandbox Code Playgroud)

下面的看起来不像是一个解决方案,因为它操作数据(remove/0)并且只保存了几百个字符的变量,而不是1GB:

output=$(sudo head -c $((1024**3)) /dev/random | tr -d '\0' | tail)
Run Code Online (Sandbox Code Playgroud)

关于以下可能是一种解决方案的想法,但看起来 var 上只有几百个字符而不是 1GB:

output=""
while IFS= read -r -d '' substring; do
 output+="$substring"
done < <(sudo head -c $((1024**3)) /dev/random | tail)
Run Code Online (Sandbox Code Playgroud)

random bash shell ram

2
推荐指数
1
解决办法
503
查看次数

标签 统计

bash ×1

ram ×1

random ×1

shell ×1