Web lists-archives.com

Re: if you have no swap in your installation this is what you do??? Why???






On 09/04/17 15:58, GiaThnYgeia wrote:
A while ago while Thomas Schmitt was helping me with dd and xorriso in
backing up systems and partitions into usb and back the issue of not
having a swap partition in my system came up, since I chose not to
during the installation, and how to create one, lead me into a search of
doing just that.

In the page
https://askubuntu.com/questions/33697/how-do-i-add-a-swap-partition-after-system-installation
there are instructions that I believe work just as well on Debian to
either create a new partition for swap or create a swap file, which I
did not know it was an option.
I chose the second as my partitioning has become complex and most of the
drive is not available during boot-up.  So I assume it would run to an
error if I did this on a partition that is not available during boot.

Below you will find the exact instructions I used and worked fine for me
on Stretch (I believe to be true for all Debian).

But here come some questions:
1	What is the difference functionally of having a swap partition from
having a swap file?  Is it that you can use a separate physical disk
that will take the wear and tear of swaping?

A swap partition is not subject to the controls of a file system. That is, it can't get fragmented, it can be positioned at the fast (or slow) end of a disk, it can be (as you suggest) placed on a completely separate device. It can be shared between dual-booting Linux systems.

A swap file does not take up potentially precious space on the partition table (for example, you can only have 4 primary partitions).

2	Is swap size relevant to ram, should it be equal, greater, smaller?
Advantages disadvantages?  I rarely see in a workstation and my/our use
anywhere close to 4GB being used, it usually maxes out around 2,5GB. No,
no killing games here, maybe some chess and gnubg. Is it that a Ram of
1GB would benefit from 2-4GB swap space while with 16GB or Ram swap
would never be used?

If you want to use suspend-to-disk hibernation, it should be at least equal to RAM (suspend-to-disk DOES use compression, but if you have a lot in RAM and a lot in swap and it doesn't compress well, equal-to-RAM tends to be the sweet spot).

Otherwise, the old rule used to be 1.5×RAM. Again, equal to RAM should be plenty if you have 4GB. Swap allows the kernel to move infrequently-used pages out to disk and prioritise the fast RAM for frequently-used pages. So, even if you have 16GB of RAM, the kernel can use that for the more important stuff (disk caches for example).


3	chmod 600 for the swapfile.  Why?

600 means that the owner of the file can read and write to the file, but no-one else can (rw-------). This improves the security of the file.

4	Is "dd bs=1M count=4M" that defines the 4,000Mb of space/size of the file?

No, that would be 4,000,000Mb. "bs=" indicates the "block size" that dd should write and "count=" indicates the number of those blocks to be written. So you're asking for four million megabytes. For 4,000Mb, you'd be best with "dd bs=1M count=4000".


I am now going to use gnubg to test my mem capabilities.  I think making
it calculate best move 4-5 moves ahead in bg or chess will stress the
system out :)

_______________________________________________________

#    Create an empty file (1K * 4M = 4 GiB)
    sudo mkdir -v /var/cache/swap
    cd /var/cache/swap
    sudo dd if=/dev/zero of=swapfile bs=1K count=4M
    sudo chmod 600 swapfile

#    Convert newly created file into a swap space file.
    sudo mkswap swapfile

#    Enable file for paging and swapping.
    sudo swapon swapfile

#    Verify by: swapon -s or top:
top -bn1 | grep -i swap
#    KiB Swap:  4194300 total,  4194300 free

#    To disable, use
sudo swapoff swapfile.

#    Add it into fstab file to make it persistent on the next system
#    boot.
echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a
   /etc/fstab

#    Re-test swap file on startup by:
    sudo swapoff swapfile
    sudo swapon -va
_____________________________________________________________