概括
从负载共享的角度来看,Ubuntu 是否利用了不同物理介质上的多个交换分区?也就是说,如果一个带有交换分区的驱动器承担了 i/o 负担,它会利用位于不同物理硬盘上的(其他)交换空间吗?
背景
构建无头家庭服务器(请仅使用命令行响应!)。我通常将操作系统、虚拟/交换空间和应用程序+数据分别放在不同的驱动器上。虽然我认为我已经清除了目录和挂载点(甚至设法从 NAS 自动挂载 NFS 文件夹),但交换对我来说仍然有点模糊...
Ubuntu 安装顺序使用 LVM 对我的主驱动器进行分区 [仍然不确定 LVM 是否是无头服务器的最佳选择;但这不是一个问题,只是一个观察]
我有两个额外的驱动器想要使用。虽然我看过 GParted 的指南,但关于 fdisk 的详细信息似乎不太详细。
我意识到还有“swappiness”设置,但我更好奇的是,如果 Ubuntu 具有足够的“设备感知”来考虑 i/o 负担过重的设备与空闲设备,并且它有多个交换区域可供使用,那么可能带来的好处。
答案1
启动时芒塔尔命令调用斯瓦彭公用事业。
这斯瓦彭手册页说:
对 swapon 的调用通常发生在系统启动脚本中,使所有交换设备可用,以便进行分页和交换活动交错跨多个设备和文件。
由于页面在不同的设备上交错,我们可以假设不同设备上的不同交换空间的性能会比单个设备上的单个交换空间更好(如 RAID 0)。
我的观点是调整交换访问是没有意义的,因为当你到达交换访问成为关键资源的地步时,你的系统几乎无法使用,磁盘访问比内存访问慢 1000 倍。
通过删除不必要的守护进程、检查软件参数来更好地调整内存使用情况....
您应该在这里找到有关内存占用的有用信息: http://linux-mm.org/LinuxMMDocumentation
答案2
虽然这实际上并没有回答我关于交换行为的问题,但我认为至少在从命令行处理硬盘和分区时我应该分享一些有用的命令。
!! 警告 !!
以下命令为例子删除分区、修改和格式化文件系统可能会破坏数据和/或阻止您的机器启动。请备份。使用风险自负。请在您不介意丢失所有数据的机器上尝试。
管理员注意。
备忘单可快速将驱动器设置为单个 ext4 分区......
查看检测到的“DISK”类设备
lshw -C disk
查看现有的分区表
fdisk -l
编辑我选择的设备(在本例中为“sdx”)的分区表
fdisk /dev/sdx
在 FDISK 中,按:
d
...到d删除当前分区n
...创建一个n新分区p
...将其指定为磷RIMARY 分区1
...将其设置为1ST 主分区w
...到瓦纪念这些改变。
显示新的分区表:
fdisk -l
将新分区的文件系统格式化为以下类型
ext4
mkfs -t ext4 /dev/sdx1
删除保留块(即设置为 0%),因为这不是
/
(根文件系统)tune2fs -m 0 /dev/sdx1
创建新的目录,新驱动器将安装到该目录:
mkdir /storage
mount /dev/sdx1 /storage
添加挂载以启动,使用
/etc/fstab
vi /etc/fstab
(请参阅其他指南了解其内容/etc/fstab
和其中可用的各种选项,再次强调,要小心!)