首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >程序员计算机的分区

程序员计算机的分区
EN

Unix & Linux用户
提问于 2023-02-25 10:36:20
回答 1查看 92关注 0票数 0

我有一台笔记本电脑,Ubuntu22.04.2LTS作为操作系统,130 GB的SSD和1TB的HDD存储。我正在寻找分区,以加快我的笔记本电脑的效率。我主要用我的笔记本电脑编程,用Python和C++ (可视化计算)和附加的一些文字处理和互联网冲浪。更有系统地,我想我的东西可以分类如下:

  • IDEs
  • 编译图书馆
  • 其他低级程序设计用途
  • 方案拟订项目
  • Docker
  • 数据,如图像或数据
  • pdf和libreoffice文件
  • internet浏览器

如何组织我的笔记本电脑的分区?

我想到了以下几点

SDD上的分区

  1. 开机
  2. 积极使用编译后的库、编程项目、IDE和Docker
  3. 积极使用的数据

HDD上的分区

  1. 带有pdf和libreoffice文件的/home
  2. 其他不需要快速运行的应用程序,例如libreoffice和firefox
  3. 未积极使用库和数据

这种分区有意义吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2023-02-25 11:39:38

我正在寻找分区,以加快我的笔记本电脑的效率。

分区本身不会使速度更快。

除了引导所需的不可避免的分区之外,没有任何理由使用分区来管理您的数据--它们对于您实际想要实现的目标来说是不必要的、僵化的复杂性:在SSD和硬盘上存储一些数据,以反映您的用例。

这种分区有意义吗?

不,可悲的是。

用例描述了三种数据:

  1. 引导所需的数据
  2. 需要快速、频繁地访问的数据
  3. 不需要频繁访问的数据

通常,您不能很好地判断哪些系统库属于第2组或第3组,只是根据它们的位置--您的编译器和您使用的所有库都位于与不经常使用的程序和库完全相同的位置。

因此,没有分区/卷管理方案可以帮助您这样做!

首先:我不知道你的预算。但是:1 TB SATA的成本约为50 {欧元,$} (SATA,比M.2/NVMe SSD运行速度快得多,通常价格相同),512 GB的价格可以达到25欧元。因此,也许这个问题实际上更好的解决方法是:向问题扔钱,用更大的SSD代替SSD,并减少HDD存储猫图片;或者用另一个SSD替换HDD,并将两个SSD与LVM作为一个带条带的大型SSD使用(不要忘记定期进行备份)。

如今,硬盘和笔记本电脑是一种罕见的结合--无论是出于动力还是可靠性的考虑,甚至不考虑速度方面的因素。

现在,如果您的SSD已经是相当快的SSD(与硬盘驱动器的速度相比),并且您没有预算购买另一个SSD:

您可能希望将SSD设置为在较慢但更大的HDD前面的缓存。Linux可以做到这一点:bcache是一种可以使用快速块设备的机制(例如,SSD上的四个分区中的最后一个,第一个仍然是/boot/efi的S vfat/uefisys,第二个经典的是/boot,第三个是交换/休眠数据,您肯定希望在笔记本上这样做)来“缓冲”即将写入较慢硬盘的数据,并保持频繁读取数据,这样就不必每次从HDD加载数据。

这样做的目的是让系统检测和管理频繁需要的数据,而不是位于哪个目录(/home、/usr/lib、/home/oldproject或其他什么目录)。

然后,在这样“加速”的块设备上,您将不执行分区(没有分区的理由),您只需要设置一个LVM物理卷,其中包含一个LVM卷组。对于所有的数据(除了/boot),您最好只在上面有一个分区,因为把东西放到不同的文件系统中对于块设备备份非常有用,而且对速度没有明显的好处。然而,使(缓存的)系统成为LVM物理卷意味着更多的灵活性,而不需要付出性能成本。我强烈建议大家都这样做。不再需要处理分区:)

因此,与本指南中提出的方案类似,安装具有bcache支持的Ubuntu20.04 (快照

  • 将SSD设为/dev/ssd,并具有分区/dev/ssd1, ssd2, …, ssdN
  • 让硬盘成为/dev/hdd
  • SSD:
    • /dev/ssd1/boot/efi,VFAT,1GB用于UEFI (足够大)
    • /dev/ssd2/boot,ext4,4GB,不用再担心这个了
    • /dev/ssd3:交换分区,交换,2×RAM大小,用于休眠
    • /dev/ssd4:用于/dev/bcache0的缓存,占据了SSD的其余部分

  • 硬盘
    • /dev/hdd1:支持/dev/bcache0的存储,整个磁盘

  • /dev/bcache0:LVM物理卷(只有一个在新卷组中,我们称之为vg0 )
  • /vg0:包含所有数据的LVM卷组
    • /dev/vg0/root:用于/的系统卷;ext4或XFS (或您喜欢的任何东西),无论您需要什么GB (可以在系统稍后运行时微不足道地增长,可以与整个硬盘驱动器一样大)

这似乎有点复杂,但实际上您需要通过bcache层来使用SSD分区作为存储在硬盘上的缓存,而LVM卷组只是为了避免在备份时或在替换失败的硬盘时向您开枪。

上面链接的指南说(我相信这仍然是真的),Ubuntu需要在安装过程中被欺骗一点,以便在其引导映像中包含对bcache的支持。但它看起来确实是相当温和的。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/736851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档