当我尝试将一个大文件分割成 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