Egy érdekes cikk jelent meg a napokban a KernelTrap-on. A cikk szerzője azzal az ötlettel állt elő, hogy a rendszer fizikai memóriájának egy részét swap területként használja fel. A cikk írója abból a feltételezésből indult ki, hogy a memória hozzáférés sokkal gyorsabb, mint a lemezműveletek (nagyobb sebesség, nincs seek-elés miatti overhead, stb.), és olcsóbb is, mint a gyors storage megoldások. Az elképzelés a következő:
Tételezzük fel, hogy van egy Linux rendszerünk, amely érezhetően lelassul, mikor az adatokat visszatölti a lemezen levő swap területről a memóriába (swap in). Mint tudjuk a lemezműveletek sok százszor lassabbak, mint a memória műveletek. A cikk írója úgy okoskodik, hogy ha a merevlemezen levő swap területet lecseréljük valamilyen memória alapú egységre (mondjuk IDE-re dugható DoM-ra (disk on module)) akkor felgyorsíthatjuk a lapozási folyamatot.
A cikk írója ezután a következőt javasolja: ne memória diszket alkalmazzunk, menjünk tovább. Tegyünk a gépbe még memóriát, azon hozzünk létre ramdisk-eket, készítsünk rájuk swap területet, és használjuk azokat swap-ként (a Linux képes file-ra is swap-elni, nem csak partícióra). Magyarul valami ilyesmire gondolt:
ramdisk_size = 131072
(Grub-ba vagy LILO-ba)
mkdir /swapram
mkdir /swapram/rd10
mkdir /swapram/rd11
mkdir /swapram/rd12
mkdir /swapram/rd13
mke2fs /dev/ram10
mke2fs /dev/ram11
mke2fs /dev/ram12
mke2fs /dev/ram13
mount -t ext2 /dev/ram10 /swapram/rd10
mount -t ext2 /dev/ram11 /swapram/rd11
mount -t ext2 /dev/ram12 /swapram/rd12
mount -t ext2 /dev/ram13 /swapram/rd13
dd if=/dev/zero of=/swapram/rd10 bs=1024 count=129030
dd if=/dev/zero of=/swapram/rd11 bs=1024 count=129030
dd if=/dev/zero of=/swapram/rd12 bs=1024 count=129030
dd if=/dev/zero of=/swapram/rd13 bs=1024 count=129030
mkswap /swapram/rd10/sw 129030
mkswap /swapram/rd11/sw 129030
mkswap /swapram/rd12/sw 129030
mkswap /swapram/rd13/sw 129030
chmod 0600 /swapram/rd10/sw
chmod 0600 /swapram/rd11/sw
chmod 0600 /swapram/rd12/sw
chmod 0600 /swapram/rd13/sw
swapon /swapram/rd10/sw
swapon /swapram/rd11/sw
swapon /swapram/rd12/sw
swapon /swapram/rd13/sw
A cikkből nagy flame lett. A flamelők két táborra szakadtak. Az egyik azt állítja, hogy minek a RAM-ban swap, ha kevés a memória, akkor tenni kell a gépbe, és nem swap-ol a rendszer. A másik tábor azt állítja, hogy a swap szükséges dolog, és ha már swap-elni kell, azt jobb a gyorsabb RAM-ban megtenni, mint merevlemezen.
A cikk itt. Érdemes elolvasni a hozzászólásokat is. Vélemény?