内存耗尽错误

内存耗尽错误

当我尝试将一个大文件分割成 8GB 的​​文件时,出现了与内存相关的错误。

# split -C 8000000000 r_mini_20120503.txt  
split: memory exhausted

但是我可以使用相同的命令创建 4GB 的文件。有没有办法为此增加内存?

答案1

也许split这个工具不太适合这个任务。你可以尝试一下dd(未经测试):

infile=r_mini_20120503.txt
filesize=1234567890 # manual set
skip=0
chunk=8000000000
bs=1000000000
count=8
part=1

while [ $skip -lt $filesize ] ; do
    dd if=$infile of=$infile.$part bs=$bs count=$count skip=$skip
    skip=[[ $skip + $chunk ]]
    part=[[ $part + 1 ]]
done

正如我所写的,未经测试。

答案2

我想说的是,您试图使用比系统内存更多的内存。
您可以尝试在单用户模式下执行此操作,这样运行的服务和其他东西(如 X 和 GDM)就会更少。

为此,运行telinit 1

或者..安装更多 RAM。这很便宜。

答案3

你的机器里有多少 RAM?你可以暂时给你的系统添加一些交换空间,但这会非常慢 :P

相关内容