swap на флешке
У меня на работе очень тормозит веник. Да и комп не блещет производительностью. По-этому я решил попробывать перенести swap-раздел на флешку и узнать, как это скажется на скорости работы моего тазика.
Начнём с того, что выполнять всё будем из-под рута. Можно было бы и карячится с помощью sudo, но…
Первым делом надо найти где же в устройствах сама флешка, дабы не отформатировать винты, а это не совсем приятное событие )
linux-3kap:/home/wert2all # ls -l /dev/disk/by-id/*usb*
lrwxrwxrwx 1 root root 9 Окт 8 14:27 /dev/disk/by-id/usb-JetFlash_Transcend_8GB_N2FUIKKM-0:0 -> ../../sdb
lrwxrwxrwx 1 root root 10 Окт 8 14:27 /dev/disk/by-id/usb-JetFlash_Transcend_8GB_N2FUIKKM-0:0-part1 -> ../../sdb1
linux-3kap:/home/wert2all #
Как видно с вывода команды, флешка у нас лежит в /dev/sdb. Вот на ней мы и будем проводить опыты.
Натравим на неё fdisk командой fdisk /dev/sdb и одостоверимся, что у нас один диск:
linux-3kap:/home/wert2all # fdisk /dev/sdb
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Команда (m для справки): p
Диск /dev/sdb: 8032 МБ, 8032092160 байт
255 heads, 63 sectors/track, 976 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x45ed9e0d
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 1 976 7839688+ b W95 FAT32
Команда (m для справки):
Теперь наш файловую систему диска переведём в линуксовый своп. Для этого нажмём t в fdisk:
Команда (m для справки): t
Выбранный раздел 1
Шестнадцатеричный код (введите L для получения списка кодов): l
0 Пустой 24 NEC DOS 81 Minix / ста bf Solaris
1 FAT12 39 Plan 9 82 Linux своп c1 DRDOS/sec (FAT-
2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 40 Venix 80286 84 OS/2 скрыт c6 DRDOS/sec (FAT-
4 FAT16 <32M 41 PPC PReP Boot 85 Linux расш c7 Syrinx
5 Расшире 42 SFS 86 NTFS набор da Данные н
6 FAT16 4d QNX4.x 87 NTFS набор db CP/M / CTOS / .
7 HPFS/NTFS 4e QNX4.x 2-я ч 88 Linux plaintext de Dell Utility
8 AIX 4f QNX4.x 3-я ч 8e Linux LVM df BootIt
9 AIX загру 50 OnTrack DM 93 Amoeba e1 DOS access
a OS/2 Boot-ме 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS фс
e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT
f W95 расши 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC
11 Скрытый 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
12 Compaq диаг 61 SpeedStor a9 NetBSD f4 SpeedStor
14 Скрытый 63 GNU HURD или ab Darwin загр f2 DOS втори
16 Скрытый 64 Novell Netware af HFS / HFS+ fb VMware VMFS
17 Скрытый 65 Novell Netware b7 BSDI фс fc VMware VMKCORE
18 AST SmartSleep 70 DiskSecure Mult b8 BSDI своп fd Автоопр
1b Скрытый 75 PC/IX bb Boot Wizard с fe LANstep
1c Скрытый 80 Old Minix be Solaris заг ff BBT
1e Скрытый
Шестнадцатеричный код (введите L для получения списка кодов):
Как видно с помощи, нам надо перевести диск в 82 код. Жмякаем и получаем:
Шестнадцатеричный код (введите L для получения списка кодов): 82
Системный тип раздела 1 изменен на 82 (Linux своп / Solaris)
Нажимаем w, что заставит fdisk сохранить ихменения и выйти.
Теперь следует этот раздел отформатировать. Если ваша система уже успела примонтировать флешку, то надо её вырвать с цепких рук ОС:
umount /dev/sdb1
Форматируем:
linux-3kap:/home/wert2all # mkswap /dev/sdb1
Setting up swapspace version 1, size = 7839684 KiB
без метки, UUID=bca76fbb-e2d0-4f3d-ab3f-949bc0b233c5
Всё, осталось её монтировать как свап при загрузке системы. Помните команду ls -l /dev/disk/by-id/*usb* и вывод странно длиннкого названия для флешки, типа такого – /dev/disk/by-id/usb-JetFlash_Transcend_8GB_N2FUIKKM-0:0-part1 ? Вот эту строку нам надо бы скопировать в буфер и потом вставить в /etc/fstab.
Редактируем /etc/fstab, где находим строчку с с надписью swap во второй колонке. Вместо её надо бы в первой колонке вставить UUID ( длинный такой путь ) с нашей флешки. У меня это где-то так получилось:
linux-3kap:/home/wert2all # cat /etc/fstab
#/dev/disk/by-id/ata-ST340014A_3JX7HTV5-part5 swap swap defaults 0 0
/dev/disk/by-id/usb-JetFlash_Transcend_8GB_N2FUIKKM-0:0-part1 swap swap defaults 0 0
/dev/disk/by-id/ata-ST340014A_3JX7HTV5-part1 / ext4 acl,user_xattr 1 1
/dev/disk/by-id/ata-ST340014A_3JX7HTV5-part6 /home ext4 acl,user_xattr 1 2
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
linux-3kap:/home/wert2all #
Я специально оставил строчку с старым свопом, на всякий случай.
А теперь применим всё это на ходу ). Выключим и включим свап, что заставит систему перечитать /etc/fstab и кидать свап на флешку:
linux-3kap:/home/wert2all # swapoff -a
linux-3kap:/home/wert2all # swapon -a
Скорость? А фиг его знает. Но по субьективному моему мнению, то всё просто летает – даже отновременно можно Нетбинс и ФФ запустить )