我的服务器有大量内存。但是IO的量(每个都很小)非常高。
有没有办法用部分内存制作虚拟驱动器?
我意识到我也可以使用 SSD,但它们很贵。
我需要速度和大小。所以记忆是行不通的。不经常访问的数据应该在 hdisk 中。
使用tmpfs. 它通常安装在/dev/shm默认大小为总 RAM 的 1/2 处。优点是,内存可供系统一般使用,直到您在那里放置一些东西(它是动态保留的)。不过,您可能想稍微调整默认设置 - 我个人在 /etc/fstab 中有如下内容:
tmpfs /dev/shm tmpfs defaults,size=16m 0 0
tmpfs /free tmpfs defaults,size=66% 0 0
Run Code Online (Sandbox Code Playgroud)
这有两件事:
/dev/shm/为可能想要使用它的应用程序安装相当小的 (16MB) tmpfs 。限制大小以防止由于错误而意外浪费内存。
在/free.
请注意,文件系统块大小等于内存页面大小 - 如果您使用具有更大内存页面大小的架构(例如 PowerPC 或 Itanium),即使是空文件也会占用整个页面。通过创建一个大文件,使用具有较小块的“常规”文件系统对其进行格式化(例如,XFS 可以使用小到 512B 的块),并循环挂载它,可以合理地减少这种开销。
至于 SSD - 它们比 RAM 慢几个数量级,无论如何都会被缓存,并且擦除周期数有限,所以问题是您是否想在有足够 RAM 的情况下使用它们。顺便说一下,甚至还有硬件 RAM 驱动器。