Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> Файловая система —> swapon

swapon - программа для управления SWAP

Автор: lissyara.


    FreeBSD4.11: swapon - достаточно простая программа (в FreeBSD4.11) с одним параметром - особо не размахнёшься... :) Используется для подключения в систему виртуальной памяти (SWAP). Можно подрубать разделом, а можно и в виде файла. Последний вариант нужен на случай, если ошиблись с размером свапа (или нагрузки на сервер), как временная мера, до того момента, как доставите ещё памяти:
/usr/home/lissyara/>su
Password:
/usr/home/lissyara/>swapinfo
Device          1K-blocks     Used    Avail Capacity  Type
/dev/ad0s1b        524160   198280   325880    38%    Interleaved
/usr/home/lissyara/>dd if=/dev/zero of=file_swap.swp bs=512 count=200000
200000+0 records in
200000+0 records out
102400000 bytes transferred in 2.943006 secs (34794356 bytes/sec)
/usr/home/lissyara/>ls -lah | grep swp
-rw-r--r--  1 root      wheel        97M  7 янв 20:14 file_swap.swp
/usr/home/lissyara/>
/usr/home/lissyara/>vnconfig /dev/vn0 file_swap.swp
/usr/home/lissyara/>swapon /dev/vn0
/usr/home/lissyara/>swapinfo
Device          1K-blocks     Used    Avail Capacity  Type
/dev/ad0s1b        524160   198280   325880    38%    Interleaved
/dev/rvn0           99872        0    99872     0%    Interleaved
Total              624032   198280   425752    32%
/usr/home/lissyara/>

Всё. В системе стало на сотню мегабайт больше свапа. Самое интересное, что способа отключить его, без перезагрузки, я не нашёл :( Может так оно и правильней...
Если Вам надо подключить свап в виде раздела (ну, например в однопользовательском режиме - там ФС сама не подключается), это даже проще:
/usr/home/lissyara/>swapon -a
/usr/home/lissyara/>

   FreeBSD6: Тут функциональность swapon расширилась (вернее, расширилась она с FreeBSD5.1) - до кучи появились утилиты swapoff и swapctl, по сути тот же самый swapon:
/sbin/>ls -lah | grep swap
-r-xr-xr-x   3 root  wheel      6.9K Nov  3 11:10 swapctl
-r-xr-xr-x   3 root  wheel      6.9K Nov  3 11:10 swapoff
-r-xr-xr-x   3 root  wheel      6.9K Nov  3 11:10 swapon
/sbin/>

Благодаря этому стало возможным отключение свапа:
/usr/home/lissyara/>su
Password:
/usr/home/lissyara/>dd if=/dev/zero of=swap_file.swp bs=512 count=200000
200000+0 records in
200000+0 records out
102400000 bytes transferred in 15.699356 secs (6522561 bytes/sec)
/usr/home/lissyara/>ls -lah | grep swp
-rw-r--r--  1 root      wheel    98M  7 янв 21:57 swap_file.swp
/usr/home/lissyara/>
/usr/home/lissyara/>swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/ad0s1b        524288       52   524288     0%
/usr/home/lissyara/>vnconfig /dev/vn0 swap_file.swp
ERROR: vnconfig(8) has been discontinued
        Please use mdconfig(8).
/usr/home/lissyara/>
/usr/home/lissyara/>mdconfig -a -t vnode -f swap_file.swp -u 0
/usr/home/lissyara/>swapon /dev/md0
/usr/home/lissyara/>swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/ad0s1b        524288       52   524288     0%
/dev/md0           100000        0   100000     0%
Total              624288       52   624236     0%
/usr/home/lissyara/>

Совсем забыл, что вместо vnconfig начиная с 5-ки привернули mdconfig. Итак, файлик приделали как свап - пробуем отключить:
/usr/home/lissyara/>
/usr/home/lissyara/>swapoff /dev/md0
/usr/home/lissyara/>swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/ad0s1b        524288       52   524288     0%
/usr/home/lissyara/>cat /etc/fstab | grep sw
/dev/ad0s1b             none            swap    sw              0       0
/usr/home/lissyara/>swapoff /dev/ad0s1b
/usr/home/lissyara/>swapinfo
Device          1K-blocks     Used    Avail Capacity
/usr/home/lissyara/>

Ну и неплохо бы включить всё это обратно:
/usr/home/lissyara/>swapon -a
swapon: adding /dev/ad0s1b as swap device
/usr/home/lissyara/>swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/ad0s1b        524288        0   524288     0%
/usr/home/lissyara/>

От так. Теперь можно не только подключать свап, но и отключать.
Что же касатеся swapctl - из мана я так понял, что она была введена для совместимости с прочими BSD (вот тока с какими конкретно не указано) и она может заменить и swapon и swapoff:
/usr/home/lissyara/>swapctl -U
swapctl: removing /dev/ad0s1b as swap device
/usr/home/lissyara/>swapctl -A
swapctl: adding /dev/ad0s1b as swap device
/usr/home/lissyara/>

Это для работы с тем что указано в /etc/fstab. Если надо подключить-отключить файл то это будет выглядеть так:
/usr/home/lissyara/>swapctl -h -a /dev/md0
swapctl: adding /dev/md0 as swap device
/usr/home/lissyara/>swapctl -l
Device:       1024-blocks     Used:
/dev/ad0s1b      524288         0
/dev/md0         100000         0
/usr/home/lissyara/>swapctl -h -d /dev/md0
swapctl: removing /dev/md0 as swap device
/usr/home/lissyara/>swapctl -l
Device:       1024-blocks     Used:
/dev/ad0s1b      524288         0
/usr/home/lissyara/>

- в md0 файл был прикручен в предыдущем опыте с swapon.
Вот, пожалуй и всё по swapon и прочей хиромантии :)



размещено: 2006-01-07,
последнее обновление: 2006-01-07,
автор: lissyara


PASHA aka DEVIEL, 2006-01-07 в 22:35:34

годицца!

P, 2006-12-08 в 14:41:14

Отличная статейка. Спасибо.

Александр, 2018-03-06 в 9:40:47

Для отключения соотвественно swapoff -a



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0409 секунд
Из них PHP: 30%; SQL: 70%; Число SQL-запросов: 77 шт.
Исходный размер: 23908; Сжатая: 5668