我在系统日志中看到以下消息:
[ 6.774422] device-mapper: cache: You have created a cache device with a lot of individual cache blocks (1933312)
All these mappings can consume a lot of kernel memory, and take some time to read/write.
Please consider increasing the cache block size to reduce the overall cache block count.
但是,我找不到有关如何在不禁用、重新创建和启用缓存的情况下调整块大小的文档...
这是正确的方法吗?或者我遗漏了什么?
答案1
您不需要更改 LVM 块大小,将发生以下情况:
要使用分区、LVM 卷甚至文件作为交换,swapon
内核会生成交换偏移量 -> 磁盘块的映射,从那时起,内核使用该映射直接针对实际的交换磁盘队列执行交换 I/O。这允许内核绕过大量文件系统、元数据、LVM、缓存操作进行交换访问。
目前,您的 LVM 卷并不连续,这意味着您的交换 LVM 卷使用的实际磁盘块分散在底层物理磁盘上,这是低效的并且会触发您看到的警告,您的交换由大量单独的磁盘位组成,而不是磁盘的一部分。
您可以尝试使用以下命令修改 LVM 卷lvchange
旗帜-C y
。这将使策略变为连续的。
-C
,--contiguous {y|n}
尝试设置或重置逻辑卷的连续分配策略。只有当所有分配的物理盘区都已连续时,才可以将非连续逻辑卷的分配策略更改为连续。
如果物理扩展不连续,你可能需要重新创建 LVM 卷,lvcreate
支持相同 -C y
,--contiguous y
旗子。