我想以最方便的方式在我的双 SSD 系统上安装 Linux 发行版(可能是 Devuan):
- 250GB,NVMe。
- 500GB,SATA3。
标准是性能和 SSD 寿命(优先考虑 NVMe)。
- Linux 的哪些目录需要最佳性能,哪些不是关键?
- 哪些目录(大部分)以读模式访问,哪些目录以读/写模式访问?
- 考虑到我有 24GB 的 RAM,/tmp 目录最好放在哪里? NVMe、SATA3 还是 RAM 磁盘? RAM 磁盘上还有其他更好的东西吗?
- 完全加载到内存中的目录(例如内核)是否应该在启动后不会对性能产生任何影响?
该系统是一台笔记本电脑,主要用于开发。
这可能是一个很好的分布吗?
- 快速且小驾驶:
/, /etc, /bin, /sbin, /lib, /lib64, /usr, /boot, /root, /sys, /home?, /opt?
- 大而慢驾驶:
/media, /mnt, /lost+found, /var, /home?, /srv
- 内存盘:
/tmp, /run, /var/run, /var/cache?, /var/spool?
- 内核提供:
/dev, /proc
答案1
在我的笔记本电脑上,我的根文件系统、启动文件系统和主文件系统位于 250GB nvme 上,并已分区。内部的一些加载位置/home
安装在跨 250GB SSD 的 btrfs(子卷)上。例如图片、音乐、文档。下载和一些不是很重要的备份都保存在安装在 CD-ROM 托架中的 750GB 硬盘上。
我的用例:
- 根图Linux
- 个人使用
- 使用 VS code、Docker 进行开发。
- 一些虚拟机、镜像位于
/var
nvme 上 - 一些游戏
推理:许多桌面应用程序使用大量小数据文件、sqlite 或等效的嵌入式数据库文件(隐藏在/home
)。它们的性能在 nvme 上得到极大提升,因为它允许并行访问。
我喜欢时不时运行的虚拟机,以便快速启动,而且我有空间。那么为什么不呢?
运行此设置 2 年以上没有出现任何问题。
/var/tmp
,/run
并且/tmp
是tmpfs
。
注意寿命。如今,大多数 NVMe 和 SSD 驱动器都使用相同的 NAND 技术。所以寿命或多或少是相同的(以读/写来衡量)。 NVMe 的使用寿命很可能更长,因为它的价格等级更高。但这实际上取决于您购买的产品。
最终基本上归结为财务决定。
请注意问题中提到的位置:
/media
通常不会被真正使用。我相信有一段时间那里发生了一些自动安装。但这一切都转移到了/var/run/user
。同样/mnt
只是一个没有内容的标准目录。也许一些空子目录作为挂载点。那里从来没有数据。/lost+found
切勿移动。它位于每个ext{2-4}
文件系统的根目录中,用于在 fsck 后存储损坏的文件。
/var/{spool, cache}
不要把它们放在内存中。它们应该在重新启动后持续存在。除非您运行的是高流量服务器,否则这些目录保持相对较小。
答案2
有许多关于 Linux 文件系统的好资源。我会阅读更高级别目录的用法:
https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
一般来说,您可能会发现将大多数内容放在更快的 SSD 上并做出特定的例外将是最简单的分离方法。您选择使用系统的方式会稍微改变一些事情,但一个好的起点是:
程序和配置往往相当静态,除非您定期进行大量系统更改。因此,以下内容对性能更为关键,更新较少,体积较小/
/etc
/bin
/sbin
/lib
/lib64
/usr
/boot
/root
。这占了操作系统的大部分。 /root
是 root 用户的主目录,但通常最好与操作系统一起保存,以备紧急情况使用。
我会将程序变量数据和用户数据放在另一个驱动器上:/var
/home
。这些可能位于速度较慢的驱动器上,您希望在其中进行更多重写。
这使得文件系统通常不存储在磁盘上:
/tmp
一般/run
是ram盘。 (/var/run
可以是 的符号链接/run
)。 /dev
/proc
/sys
都是内核提供的。
答案3
如果您考虑一下,操作系统将受益于更快的驱动器,程序加载速度更快,因此您将 root 放在 NVMe 上。您的根驱动器上有足够的空间。
使用 500GB 驱动器作为/home
目录。
我总是将 tmp 放入 RAM 中。
所有这一切都取决于你对 Linux 系统的用途,我假设是桌面系统。如果您打算将其用作服务器,请告诉我们您想做什么。