2
A
回答
6
那一个会导致越来越多的内存由bash使用:
while read f; do arr[$((i++))]=$f; done < /dev/urandom
另一个困难的方法可能是(是c areful):
while read f; do arr="$arr:$arr:$arr:$arr:$f"; done < /dev/urandom
柔和版本:
while read f; do arr="$arr:$f"; done < /dev/urandom
回收内存调用的部分:
unset arr
你也可以用叉子炸弹混吧......但我会避免它
0
0
1
当前的答案将尝试使用更多的RAM,直到它完全不在RAM内。对于更可控的方式,如果你有基本的GNU工具,你可以这样做:
yes | tr \\n x | head -c $BYTES | grep n
# Protip: use `head -c $((1024*1024*2))` to calculate 2MB easily
这工作,因为grep的加载到RAM中的数据的整条生产线。由yes
替代换行符生成的行将会无限长,但受限于head
到$BYTES
字节,因此grep将在内存中加载$ BYTES。 Grep本身对我来说就像100-200KB一样使用,您可能需要将其减去更精确的数量。
如果你也想加入一个时间限制,这可以很容易地在bash
完成(不会sh
工作):
cat <(yes | tr \\n x | head -c $BYTES) <(sleep $SECONDS) | grep n
的<(command)
事情似乎鲜为人知,但往往是非常有用的在这里就可以了,更多的信息:http://tldp.org/LDP/abs/html/process-sub.html
如果你有pv
,想慢慢增加RAM使用:
yes | tr \\n x | head -c $BYTES | pv -L $BYTESPERSEC | grep n
例如:
yes | tr \\n x | head -c $((1024*1024*1024)) | pv -L $((1024*1024)) | grep n
将以每秒1MB的速率使用多达一千兆字节。作为额外的奖励,pv
将向您显示目前的使用率和总使用率。当然,这也与之前的变种来完成:
yes | tr \\n x | head -c $BYTES | pv | grep n
只需插入| pv |
部分将显示您当前的状态(吞吐量和总,在默认情况下,我认为 - 否则看到的人(UAL)页)。
相关问题
- 1. 如何让其他人使用ssh连接到我的电脑?
- 2. 从电脑读取FPGA的Block RAM
- 3. 如何访问我的电脑的RAM和ROM的所有字节?
- 4. 访问大量的测试电脑
- 5. 如何使用Wireshark在我的电脑上捕获VoIP电话流量?
- 6. 如何使用我的iphone操作我的电脑?
- 7. 如何让我的网站在平板电脑上工作?
- 8. 如何让我的程序的最大内存使用量OSX
- 9. 如何找到我的电脑上的Java堆大小?
- 10. 如何让电脑闪光灯
- 11. 如何让平板电脑仅适用于平板电脑,只适用于手机平板电脑?
- 12. 如何以编程方式控制我的电脑的音量?
- 13. 如何使用C中的Win32 API关闭我的电脑?
- 14. 如何让其他电脑的用户连接到我的IIS7网站?
- 15. 如何关闭我的电脑,让我的网站保持在线状态
- 16. 如何让我的电脑在WiFi上时使Android模拟器访问网络
- 17. 我的网站与我的电脑相比略显不同我的电脑相比我的电脑
- 18. 如何使用AutoHotkey锁定我的电脑?
- 19. 如何使用WCF使电脑“回家”?
- 20. 如何使电脑唱歌
- 21. 我如何在我的电脑或其他电脑上安装我的Windows窗体应用程序
- 22. 如何让手机上的midlet访问电脑上的servlet
- 23. 用C#控制电脑的音量#
- 24. 试图在我的电脑
- 25. UDP和我的电脑?
- 26. Java减慢我的电脑
- 27. 如何在我的电脑得到的字体使用的特殊应用
- 28. 如何让GC在我不想使用它时回收mxml的RAM?
- 29. Javascript - 如何让所有电脑上的getTime()变得统一?
- 30. 如何获取电脑的用户名?
写一个C程序,调用malloc(一百万兆字节)。 – 2010-11-12 01:27:46
我需要在bash中进行此操作。 – abc 2010-11-12 01:30:45
@Travis Dr. Evil - 是你吗? – Josephine 2010-11-12 01:32:45