Linux 基本忽略 PCI SSD 上的专用交换

Linux 基本忽略 PCI SSD 上的专用交换

我和同学们一起集结资源,搭建了一个小型的 Ubuntu 研究服务器。

该服务器有 128GB 的​​ RAM,我将交换空间放在连接到 PCI 总线的专用 SSD 上。(/dev/nvme0n1)三星 960 EVO。系统是二手的,Dell PowerEdge T430有两个处理器。**

swapMount

我可以使用swaponssd,但 Ubuntu 16.04 没有使用它。Swappiness 为 85,vfs_cache_pressure 设置为 50。

# swapon --show
NAME         TYPE      SIZE USED PRIO
/dev/nvme0n1 partition 477G   0B   -1

$cat /proc/sys/vm/swappiness && cat /proc/sys/vm/vfs_cache_pressure
85
50

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           125G         94G        8.8G         27M         22G         29G
Swap:          476G          0B        476G

# fdisk -l
Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

$ ls /dev/nvme*
/dev/nvme0  /dev/nvme0n1

顶部

在专用磁盘上进行交换是否会导致这种情况?

尝试修复它。

  • 我已尝试swaponswapoff修复它
  • 我还尝试过在 SSD 上创建交换分区 (p1),而不是整个驱动器本身
  • 我曾尝试在磁盘mkswap /dev/nvme0n1之前的驱动器上swapon

** 尽管文档指出两个 CPU 必须具有相同的 RAM 配置,但所有 RAM(4x32gb)都位于第二个处理器(B1-B4)上。这是唯一有效的 RAM 座位。

答案1

您的问题很可能源于对如何在 Linux 中读取 RAM 使用情况的误解。您仍有 29GB 可用,您的“free -h”显示如此。您的机器没有理由使用交换。

请记住,“缓存/缓冲区”不被视为“已使用”。机器只是使用 RAM 来加速机器,但该 RAM 被视为可用。

也许你需要了解一下 RAMlinuxatemyram.com在 Linux 中的使用。

Swappiness 只是一个建议。如果没有理由将程序放入交换区,内核就不会这么做。

相关内容