Linux 多路径占用内存过大的要素:
1. 多路径设备数量:
设备数量越多,内核分配给多路径模块的内存就越多。
2. 设备子设备数量:
每个设备的子设备越多,内核分配给多路径模块的内存就越多。
3. 多路径状态信息:
内核为每个多路径设备维护状态信息,包括状态变更、路径故障和路径恢复信息。
这些信息会占用额外的内存。
4. 多路径 I/O 请求:
多路径 I/O 请求需要内核分配额外的内存,以便跟踪请求状态并存储请求数据。
5. 多路径队列:
内核在收集多个路径上的 I/O 请求时会使用队列。
队列的深度越大,内核分配给多路径模块的内存就越多。
6. 多路径算法:
不同的多路径算法可能会使用不同的数据结构和内存分配策略。
一些算法比其他算法更耗费内存。
7. 内核版本:
不同的内核版本可能具有不同的多路径实现,从而导致内存占用不同。