高手来,我有个Perl脚本,要解压大文件,内存不足怎么优化?

脚本主要是要解压一个大文件,然后再读取内容,处理后输入另一个文件中,要解压的zip文件有几十个G,我用的代码主要是这样的:
open( $FH, "gunzip -c $FN_fq_gz|" ) or die( "Cannot open file: $FN_fq_gz\n" ); #打开文件FH 写入文件FH_out 写入文件FH_unpair
open( $FH_out, "| gzip -c > $FN_fq_out" ) or die( "Cannot write to file: $FN_fq_out\n" );
open( $FH_unpair, "| gzip -c > $FN_fq_unpair" ) or die( "Cannot write to file: $FN_fq_unpair\n" );
这种解压方式在多个脚本同时操作的时候会发生内存不足,请问有没有什么办法能避免使用更多的内存?可以用Linux的命令。
下面的代码是用while(<$FH>)来读取每一段内容的,主要是换一种方式打开这个压缩文件,寻找能节省内存的办法。

通过命令行调用别的不会溢出的内存工具呗。不过你测试一遍是不是要花很长时间
温馨提示:内容为网友见解,仅供参考
无其他回答

高手来,我有个Perl脚本,要解压大文件,内存不足怎么优化?
通过命令行调用别的不会溢出的内存工具呗。不过你测试一遍是不是要花很长时间

php是一种什么编程语言?
运行在php-cli模式下可以实现程序常驻内存,各种变量和数据库连接都能长久保存在内存实现资源复用,性能可以得到很大的提升,php-cli开发比较复杂能但是能够获取更高的性能,对开发者的要求比较高需要比较高的开发水平,比较常用的模式是结合swoole组件编写cli框架,各种变量能保存在跨进程的高性能共享内存Table,可以开发出支持...

100分跪求电脑软件硬件高手帮忙,看清楚再回答,谢谢
加快开机速度,可以先设置自动结束任务,首先找到HKEY_CURRENT_USERControl PanelDesktop,把AutoEndTasks的键值设置为1;然后在该分支下有个“HungAppTimeout”,把它的值改为“4000(或更少),默认为50000;最后再找到HKEY_LOCAL_MACHINESystemCurrentControlSetControl,同样把WaitToKillServiceTimeout设置为“4...

谁能给我讲讲游戏脚本的事,用什么语言编写?是不是需要你所玩游戏的...
如今的机器速度如此之快,这通常是得不偿失——比较明智的做法是使用一种运行较慢、较低效率,但大幅节省时间的语言。因此,选择Python。其他比较重要的语言包括 Perl和 LISP。 Perl实用,值得一学;它被广泛用于动态网页和系统管理,因此即便你从不用Perl写程序,至少也应该学会看。许多人使用Perl的理由...

无效的过程调用或参数dede怎么解决?
确保赋值符合属性范围。内存不足 分配与该计算机有效内存一样多的内存。这可能是一个动态分配数组增长得太大,或者是对象实例数目过多。要纠正该错误 使用Erase语句来重新分配动态数组的储存空间。使用ReDim语句来重新分配储存空间。关闭任何已经打开、不必需的应用程序,文件或者源文件。下标越界 要访问的...

如何成为一个程序员
要舍得买书,买好书,不好的的书不如不读,其害大于其益,关于买什么书,你可以问高手或看候捷的书评;准备一个小本子记录你想买的书的名字,逛书店时看看,如果好就买下,记住要读,别光买不看。) 10、我告诉你,程序就是:任何有目的的、预想好的动作序列,它是一种软件。11、编程序就是编写程序。12、你想好了...

求一招好用的电脑技术
1 首先你要将那些游戏的图标挨个找出来放到一个新建的文件夹内 这个文件夹以后就不要乱动位置了 然后在你想改图标的那个文件夹上--右键--属性--自定义--更改图标--浏览--找到你想要的图片 2 上网用的工具太多了 数不胜数 无非就是些优化的 入侵的 修改的 大致分这些了 太多了 没发说 在此不介绍了 3 ...

!~ \/^\\d+$\/是什么意思
\\d+匹配多个数字字符串。所以\/^\\d+$\/ 表示匹配一整行中1个以上的数字。Perl的正则表达式的三种形式,分别是匹配,替换和转化:匹配:m\/\/(还可以简写为\/\/,略去m)替换:s\/\/\/ 转化:tr\/\/\/ 这三种形式一般都和 =~ 或 !~ 搭配使用, =~ 表示相匹配,!~ 表示不匹配。

程序员需要学些什么?
另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。 2、熟知数据库 作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本...

python语言的缺点
在Python语言的执行速度上,一方面,网络或磁盘的延迟,会抵消掉部分Python本身消耗的时间;另一方面,因为Python特别容易和C结合起来,因此,我们可以通过分离一部分需要优化速度的应用,将其转换为编译好的扩展,并在整个系统中使用Python脚本将这部分应用连接起来,以提高程序的整体效率。Python的GIL锁限制并发...

相似回答