Skip to content


Создание swap-файла в файле :)

Уж простите за тавтологию, но иногда создавать новый дисковый раздел под раздел подкачки (swap) не представляется возможным. В таких случаях можно создать его в виде файла в файловой системе. Для примера рассмотрим создание дополнительного swap-файла размером 8ГБ:

Дополнительный swap-файл в linux

Создание дополнительного файла подкачки

# dd if=/dev/zero of=/swapfile bs=1M count=8192
8192+0 records in
8192+0 records out
8589934592 bytes (8,6 GB) copied, 13,2861 s, 647 MB/s
 
# ls -l /swapfile 
-rw-r--r--. 1 root root 8589934592 Май 12 11:13 /swapfile
 
# mkswap /swapfile 
mkswap: /swapfile: warning: dont erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 8388604 KiB
no label, UUID=278eca1b-2af8-4e42-be11-5025ba0f3d8d

Обратите внимание на размер свободного swap-а после первой и второй команд free:

# free; swapon /swapfile ; free
             total       used       free     shared    buffers     cached
Mem:      32867736   30405392    2462344          0     153196    8790844
-/+ buffers/cache:   21461352   11406384
Swap:      8388600       7596    8381004
             total       used       free     shared    buffers     cached
Mem:      32867736   30411360    2456376          0     153196    8790844
-/+ buffers/cache:   21467320   11400416
Swap:     16777200       7596   16769604
 
# echo '/swapfile none swap sw 0 0' >> /etc/fstab

Posted in *nix.

Tagged with , .


One Response

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. xeon says

    Дополню - для создания больших файлов лучше пользоваться fallocate из пакета utils-linux-ng (ставится по умолчанию). Для сравнения:
    $ time dd if=/dev/zero of=/tmp/swapfile bs=1M count=1024
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB) copied, 7.23511 s, 148 MB/s

    real 0m7.238s
    user 0m0.003s
    sys 0m0.993s

    $ls -la /tmp/swapfile
    -rw-r--r-- 1 root root 1073741824 May 15 11:13 /tmp/swapfile

    $ time fallocate -l 1G /tmp/test.file

    real 0m0.023s
    user 0m0.000s
    sys 0m0.001s

    $ls -la /tmp/test.file
    -rw-r--r-- 1 root root 1073741824 May 15 11:12 /tmp/test.file

    Как видно скорость создания в разы выше.

You must be logged in to post a comment.