Linux下将两个10G的文件打包成一个文件需要多久
Linux下将两个10G的文件打包成一个文件需要多久 | 公云网博客
Linux下将两个10G的文件打包成一个文件需要多久
发表于 2012 年 9 月 19 日 由 refactor微博上kevin_prajna提了一个问题:“求Linux下一打包工具,需求:能把两个10G的文件打包成一个文件,时间在1分钟之内能接受!”。
暂且作答一下吧。首先问题是求解工具,那么我们忽略IO问题,采用内存盘来解决, 在公司一台128G内存的机器上:
mkdir /mnt/test mount -t ramfs none /mnt/test cd /mnt/test生成一个小脚本,生成两个10G的文件:
#!/bin/bash for (( i = 0; i < 2; i++)); do echo $idd if=/dev/zero of=file$i.bin bs=1M count=10000 done;生成测试文件:
time ./test.sh <<< 0 10000+0 records in 10000+0 records out 10485760000 bytes (10 GB) copied, 4.78903 s, 2.2 GB/s 1 10000+0 records in 10000+0 records out 10485760000 bytes (10 GB) copied, 4.92947 s, 2.1 GB/s ./test.sh 0.00s user 9.68s system 99% cpu 9.731 total测试结果,生成两个10G文件,消耗了9.731秒
采用tar打包工具测试:
time tar cvf out.bin file* <<< file0.bin file1.bin tar cvf out.bin file* 0.40s user 13.90s system 99% cpu 14.353 total采用 tar打包这两个文件,并且写入 out.bin文件,消耗了 14.353秒, 完全满足kevin_prajna的要求。
然后我们用cpio来测试,由于cpio对10G这样的文件打包有bug,会报错,所以我们用20个1G文件测试:
#!/bin/bash for (( i = 0; i < 20; i++)); do echo $idd if=/dev/zero of=file$i.bin bs=1M count=1000 done;生成20个1G测试文件,用了 9.806秒
使用tar对这20个1G文件打包,用了13.800 秒
cpio的测试结果:
# time ls file*|cpio -o > out.bin <<< 40960002 blocks ls --color=tty file* 0.00s user 0.00s system 0% cpu 0.002 total cpio -o > out.bin 6.31s user 37.61s system 99% cpu 44.029 totalcpio打包这20个1G文件消耗了44.029秒,速度相对tar,还是慢了好多。
测试环境:
Dell R710, 2*Xeon E5620, 128G RAM
OS: Ubuntu 12.04 x86_64从上面也可以看出,现在CPU和工具是很强悍的,弱爆的是磁盘IO,这是要大把花银子的。
Linux下将两个10G的文件打包成一个文件需要多久相关推荐
- linux将多个文件打包成一个文件,将多个文件打包成一个shell
1.脚本目的 实现自动化环境部署,且将软件包和部署脚本合并成一个文件,避免脚本和文件分开. 2.实验环境 (1) Linux环境 centos 7.4 (2)软件包 [root@centos-70 0 ...
- linux 压缩7z文件夹,Linux 下压缩与解压.zip和.rar及.7z文件
Linux 下压缩与解压.zip和.rar及.7z文件对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们: 1)对于.zip linux下提供了zip和unzip程 ...
- 在linux下一般用scp这个命令来通过ssh传输文件
在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件 scp username@servername:/path/filename /var/www/local_dir(本 ...
- py文件打包或apk_Python文件打包成exe很简单,如果安卓手机也能运行的软件你会吗...
前言 我相信很多小伙伴都知道怎么将Python的文件打包成exe,而且这个也非常的简单,一行代码就能轻松搞定:pyinstaller -F xxx.py 但是如果我们用Python开发一个小游戏或者一 ...
- Python项目打包后找不到路径问题,将资源文件数据文件打包到exe文件中
目录 问题描述 Python项目打包后,找不到配置文件路径 1.冻结路径 2.使用方法 将资源文件打包到exe文件中 1.打包前准备 2.返回临时路径 3.使用方法 4.编译打包 问题描述 pyins ...
- 将ocx和DLL文件打包成cab文件,inf的编写
From: http://icrwen.iteye.com/blog/1118766 http://blog.csdn.net/yimiyangguang1314/article/details/65 ...
- svn增量打包部署_利用svn的补丁文件打包生成增量文件
下面的代码是maven版本 1. 创建patch.txt增量文件 保存到 文件目录下 比如 E:\aa\patch.txt 2. 编写java代码 package utils; import java ...
- 压缩base 64字符串_ftp下载多个文件,ftp下载多个文件打包成一个压缩包
在一些日常的网络批量维护工作中,经常需要使用ftp计划任务,定时上传或下载多个文件.对不太了解ftp命令和windows计划任务的新手来说,确实是一个很棘手的问题.今天我们来看看如何简单的实现这功能. ...
- FTP下载多个文件打包成一个压缩包
@RequestMapping("downloadsByplFromFTP") @ResponseBody public void downloadsByplFr ...
最新文章
- 3.请执行命令取出linux中eth0的IP地址(考试题答案系列)
- 【❗JS奇技淫巧❗】JavaScript:截取DataURL中的base64字符串
- (译)在Objective-c里面使用property教程
- 欢乐纪中A组赛【2019.8.20】
- World Token钱包官网骗局模式,是传销吗?
- ATL 线程池的使用
- html5 canvas 不兼容safari浏览器_HTML5简介
- linux rkt命令,rkt 1.13.0发布,CoreOS的容器引擎
- A. 面向对象思想介绍
- 事务是什么?事务的4个特点(ACID),事务的开启与结束
- paip.c#.net未能找到任何资源
- MySQL8.0.22解压安装教程
- GNS3 中使用 Docker 容器
- 一文看懂行业分类--基于wind行业分类标准
- 安卓手机投屏软件_适合智能电视手机投屏的软件
- linux查看硬盘读取速度慢,Linux检测硬盘读取速度
- 如何分析数据建立数据表
- EXCEL 字符替换为换行符
- 标签无效 /zabbix_export/date: YYYY-MM-DDThh:mm:ssZ 预计。
- 雨敲窗python_标签 Python - 雨敲窗个人博客
热门文章
- C语言-- 大端小端详解
- 算法(10)-leetcode-explore-learn-数据结构-链表双指针技巧
- Android设计模式之——命令模式
- 从夫妻吵架中看项目管理
- [个人网站搭建]·Django增加评论功能(Python3)
- [边分治+线段树合并]「CTSC2018」暴力写挂
- python实现简易工资管理系统(Salary Manage)源码
- python安装各种插件
- BZOJ-1036 [ZJOI2008]树的统计
- VBScript学习笔记 - 数组