大佬教程收集整理的这篇文章主要介绍了为什么Perl会在打印文件时占用我的内存(RAM)?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
open (my $fh,'>>',$filePath); while (my $row = $sth->fetchrow_hashref) { print $fh join ('|',$row->{name},$row->{address}) "\n"; }
如果我取消注释print语句并运行脚本,我的RAM将不会减少.所以,我很确定我的内存RAM是由FILEHANDLE / Perl背后的其他内容占用了内存.这引出了一个问题,如果有办法将文件从Perl脚本写入磁盘,而不是使用内存RAM?
>我试过在每一行上冲洗FILEHANDLE,但它仍然无效.
>有一点也很奇怪的是,在我终止我的脚本之后,我会查看我的内存并且它仍然被文件占用.当我删除文件时,它释放了我的记忆.我在linux中使用free来检查我的记忆.
您的Perl脚本编写了一个大文件.它首先进入RAM中的文件缓存,操作系统在有时间或RAM耗尽时将其写入磁盘.它不会将其从RAM中删除,除非您删除该文件或它需要RAM其他内容.
文件缓存并不是一件坏事,您不必担心它有多少使用您的RAm.当程序需要更多内存时,操作系统可以非常快速地清除文件缓存并为程序重用内存.
以上是大佬教程为你收集整理的为什么Perl会在打印文件时占用我的内存(RAM)?全部内容,希望文章能够帮你解决为什么Perl会在打印文件时占用我的内存(RAM)?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。