swap分区+ramdisk

来源:互联网 发布:淘宝被盗图怎么投诉 编辑:程序博客网 时间:2024/06/16 20:31

最近做一个项目,实际是提升linux kernel当中swap算法的性能,使之能匹配上SSD或者更快存储设备。传统的swap算法是针对HDD的,HDD在读写速度上最快约100M左右吧,而SSD或者其他快速设备的读写速度能达到至少500M。所以,必须先研究一下swap。


目前的实验测试方法是把ram做成swap分区,来模拟SSD之类的快速存储设备。

有两种方法。一、将ram直接设为swap分区。二、将ram做成scsi disk,再将该disk设为swap分区。

一、将ram直接设为swap分区。

系统启动时会分配16个默认的ram, ram0--ram15。大小也是固定的,只在需要时才会分配实际的内存给它,平时不用时,大小为0。如果需要修改,(1)改/boot/grub/grub.cfg文件,加入ramdisk_size=N这个参数。重启后生效。(2)若CONFIG_BLK_DEV_RAM=m,可以通过加载模块的时候定大小和数量。


假设将/dev/ram0设为swap分区:

mkswap /dev/ram0

swapoff -a

swapon /dev/ram0


二、将ram做成scsi disk,再将该disk设为swap分区。

这种做法,需要内核选项中将CONFIG_SCSI_DEBUG=m。

modprobe scsi_debug dev_size_mb=1024(1GB大小)

lsscsi可查看新增的scsi disk的设备名称,如/dev/sdc

mkswap /dev/sdc

swapoff -a

swapon /dev/sdc

这个模块只能一次有效,如果需要改变scsi disk大小,需要重新加载模块。


0 0