想用裸设备来编译源码

Kvm、VMware、Virtualbox、Xen、Qemu 等
回复
yubinalice
帖子: 197
注册时间: 2015-12-23 16:20
系统: ubuntu 16.04

想用裸设备来编译源码

#1

帖子 yubinalice » 2016-06-12 19:02

如题,

我知道有些虚拟机可以使用裸设备,

但是我知道make工具是完全无法使用裸设备的,

我想知道可以不可以让虚拟机里面的某个裸设备被映射到物理机器上面,

然后让他可以像文件系统一样被使用。

这样就可以方便我编译源码的时候可以获得最大的磁盘IO以及最低的CPU开销。

这个不知道是不是有人会做这个。

简单的讲,就是想要让编译源码在裸设备上面完成,显然的,安装源码也要在裸设备上完成。

目标位置是文件系统。

我不知道这个是不是可以完成。

但是我听说过kvm可以用裸设备来安装系统。

希望知道的朋友可以回复一下。

谢谢!!!
yubinalice
帖子: 197
注册时间: 2015-12-23 16:20
系统: ubuntu 16.04

Re: 想用裸设备来编译源码

#2

帖子 yubinalice » 2016-06-13 15:37

这个我也会,

但是问题是有许多东西都不可能这样处理的。

比如我想要编译一个Android的模拟器,这个东西编译出来之后应该有好几十GB的容量,

或者编译一个KDE,编译出来之后容量可能超过上百GB,

所以这么巨大的数据量,

对于存储是一个巨大的挑战,不可能使用内存来编译。

裸设备可以大幅度降低CPU的开销以及提高磁盘速度。

但是估计会降低磁盘的寿命。

所以对于一些体积超级巨大的工程还是需要使用裸设备的。


谢谢!!!


我突然想到一个想法,

可以 不可以让一个已经分区的设备强行挂载成裸设备,然后写入的时候是裸设备写入,

然后在重新挂载成正常设备来进行拷贝活动?


谢谢您的回复!!
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 想用裸设备来编译源码

#3

帖子 科学之子 » 2016-06-15 5:55

我想知道可以不可以让虚拟机里面的某个裸设备被映射到物理机器上面,

然后让他可以像文件系统一样被使用。

这样就可以方便我编译源码的时候可以获得最大的磁盘IO以及最低的CPU开销。
都用虚拟机了并且还像"文件系统"一样被使用,CPU能节省多少?
感觉Linux自身的读写缓存很给力

感觉像编译器这类东西都是"应用程序"(application program),它注定无法直接使用裸设备
如果中间套层东西让应用程序可以"使用"裸设备,那和普通file system又有什么区别?
尤其是楼主还提到虚拟机,又是额外的CPU消耗...

个人理解,可能不对,欢迎各位指正
回复