我的脚本执行以下 *** 作
读取一个巨大的文本文件,并从中创build一个哈希值(大约2千4百万个简单的键值对,耗时约5分钟,占用4Gb计算机内存的92%)
使用哈希信息运行模拟(大约30分钟)
在模拟结束时打印结果(到文件和stdout)
然后在最后的打印声明之后等待10分钟以上并退出。 最后的等待不会每次都发生。 在wait top命令期间显示相同的92%的内存使用率,但没有cpu使用率。 为什么有时候会这样呢? 如果我按Ctrl C ,它会立即退出,而不会改变结果(结果)。 我如何deBUGging这个或者是预期的行为,因为哈希是巨大的?
编辑
是否有可能通过从哈希中删除不需要的键值对来回收一些内存?
如何在ec2实例的/ mnt上挂载swap分区
显示“免费”的linux交换量不同于“smem”
liNUX:如何locking内存中进程的页面
在windows上运行vim留下不可写的交换文件
OutOfMemoryException / ERROR_COMMITMENT_liMIT与系统中的大量可用内存
远离windows C ++中的虚拟内存
为什么交换需要在Datastax Cassandra中closures?
强制进程完全在swap中运行
计算在linux上使用的%内存
当资源密集型批次完成时如何强制程序退出交换文件?
我假设你知道'删除'功能(所以删除引用perldoc -f删除:)
对于内存调试,你可以使用valgrind这个提示可以帮助: Perl v5.10.1是否有内存泄漏或如何解释valgrind它建议使用:
使用Perl :: Destruct :: Level level => 1;
总结以上是内存溢出为你收集整理的Perl脚本奇怪的行为/回收内存全部内容,希望文章能够帮你解决Perl脚本奇怪的行为/回收内存所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)