系统相关
首页 > 系统相关> > 在Linux下使用循环安装映像的开销

在Linux下使用循环安装映像的开销

作者:互联网

使用循环安装映像与使用Linux下的物理分区相关的CPU / RAM开销是否存在?

解决方法:

是的,除非你有一个非常新的内核,在linux上使用循环设备时会有很大的开销:通过循环设备访问的数据必须经过两个文件系统层,每个层执行自己的缓存,因此数据最终缓存两次,浪费了大量内存(臭名昭着的“双重缓存”问题)

除了随意使用之外,更好的选择是使用专用分区或chroot,以便可以直接访问数据.

或者使用最新的内核,问题在linux 4.4 and newer中修复:

Faster and leaner loop device with Direct I/O and Asynchronous I/O support

This release introduces support of Direct I/O and asynchronous I/O for the loop block device. There are several advantages to use direct I/O and AIO on read/write loop’s backing file: double cache is avoided due to Direct I/O which reduces memory usage a lot; unlike user space direct I/O there isn’t cost of pinning pages; avoids context switches in some cases because concurrent submissions can be avoided. See commits for benchmarks.

标签:linux,loop-device
来源: https://codeday.me/bug/20190812/1644443.html