问题描述:有几个压缩好的大日志文件,压缩后,2,3G,解压后估计有5,6G数据库
须要将这些日志解析出来,存储到分布树数据库中去。看了下线上的机器,虽然日志
每一个机器的绝对内存均可以将这些数据读入进去,可是正常可用内存却只有几个G内存
并且还要被其余程序占用,解析代码用JAVA来写,运行JAVA代码的时候能够指定it
使用的内存XMS,XMX。程序
解决方法: 因为日志信息容许有必定的丢失,因此能够采用将文件切割的办法,方法
将大文件切割为一个个的小文件,而后JAVA代码在将这些小文件读进去处理。这样数据
以来运行时占用的内存就能够控制在必定范围内。脚本
日志切割采用SHELL脚本下面的:split -b 100m $openFile 将日志切分为每一个100M文件
这样每次只须要读入100M的数据进行处理。一行一条数据的话,切割完也就丢失几十条压缩
日志信息而已,能够接受。