我想添加一个 udev 规则来设置sysctl -w vm.swappiness = 100
引导分区位于闪存设备上的计算机。
我当前的系统使用 NVMe 卡,我可以将其检测为SUBSYSTEM="nvme"
,但我认为(目前我没有可用于检查的值)SATA SSD 的值为"scsi"
,这不是 SSD 特定的。事实上,当我写这篇文章时,我依稀记得一些制造商最近宣布了旋转磁盘 NVMes 用于某些利基用途,所以这也不完美(尽管它适合我的目的)。
我怎样才能在udev规则中可靠地检测存储设备的“技术”?
答案1
您可以检查/sys/block/*/queue/rotational
内核是否认为它是具有旋转介质的存储设备。这与子系统无关。
它甚至可以用于udev
:
udevadm info -a /dev/nvme0n1 | grep -F 'ATTR{queue/rotational}'
ATTR{queue/rotational}=="0"