Answers:
在加密主目录时,Phoronix已运行了一组测试和一些有关eCryptfs性能的文章:
我从这些文章中得出的结论是,根据基准进行的加密(如预期的那样)确实会在一定程度上影响读写性能。在小型CPU(Atom处理器)和快速硬盘驱动器(SSD)上,这可能更引人注意。就是说,通过使用eCryptfs,您只需要在将数据读/写到主目录(而不是像使用全盘加密的系统的其余部分)中时那样就牺牲性能。此外,对于更快的处理器,进行加密/解密所花费的时间通常适合IO等待从磁盘访问数据的时间,这通常是瓶颈。
对于您的特定问题,如果您听到很多“硬盘寻道”的噪音,在我看来,您的系统正在从内存到磁盘来回交换数据。如果您选择使用eCryptfs,那么Ubuntu将自动加密您的交换空间(这是保护加密数据所必需的)。但是,加密交换也非常昂贵。
我个人而言,我的系统有很多RAM(大多数系统上为8GB)使系统过载,并完全禁用交换功能。
我正在主目录中使用python进行编程,并且有用于项目包的Python虚拟环境。
对于我的程序,由于在查找模块文件时Python发出了许多stat()系统调用,因此在eCryptfs上的启动时间相当慢。因为许多此类stat调用会导致“找不到文件”,并且永远不会缓存此类结果,但是我们仍然要为ecryptf付出代价,因此情况一直很缓慢。
我最终通过将ecryptfs挂载点移动到〜/ private,将大多数文件从〜/ private复制到我的未加密homefolder中,从我的主目录中删除了ecryptfs。现在事情又快了。也许其他CPU的性能损失会更少,我有一个带Atom的Asus 1215N。
我没有进行任何硬核测量,因此请花点精力,但我注意到在以下情况下,与dm-crypt的LV(挂载为/ home / username)相比,ecryptfs的性能极其差:
du在包含大量文件的文件夹中。使用整个分区的dm-crypt需要几分钟,而仅需几秒钟-到目前为止,这是最坏的情况
在mutt中打开包含大量项目的文件夹会花费几秒钟的时间(在包含10000个项目的文件夹中大约需要20秒钟),而使用dm-crypt几乎可以瞬间完成
与dm-crypt相比,git操作要慢一些(不是很多)
Firefox等应用程序的启动时间明显更长,但我们仍处于秒范围内
我刚搬到dm-crypt(带有pam_mount),再开心不过了!