===== dCore Swap =====
==== Overview ====
A swap primer for dCore users with minimal Linux or Tiny Core Linux experience.
Depending on intended use, a [[https://www.linux.com/news/all-about-linux-swap-space|Linux swap partition or swap file]] is recommended for systems with < 1-2 GB RAM. Swap is especially useful on low RAM systems to import/update large extensions, run numerous/heavier applications, compile software or set up hibernation.
By default, dCore will seek and utilize any existing swap partition at boot. It also by default utilizes [[https://en.wikipedia.org/wiki/Zswap|zswap]] at boot. A boot code is necessary to enable a previously set up swap file. Review the swap related [[dCore:swap_partition_or_file#boot_codes|boot codes]] below for more information related to enabling a swap file or disabling swap and zswap.
The following commands are useful to confirm swap utilization:
cat /etc/fstab
cat /proc/swaps
dmesg | grep swap
free -m
Example outputs outlined below utilizing a system with 512 MB RAM, 729 MB swap partition plus zswap. Note total swap indicated by ''free -m'' includes all available swap (eg. swap partition + zswap).
tc@box:~$ cat /etc/fstab | grep swap
/dev/zram0 swap swap defaults,noauto 0 0
/dev/sda5 none swap defaults 0 0
tc@box:~$ cat /proc/swaps
Filename Type Size Used Priority
/dev/zram0 partition 116524 5224 -1
/dev/sda5 partition 746984 0 -2
tc@box:~$ dmesg | grep swap
[ 2.968436] Adding 116524k swap on /dev/zram0. Priority:-1 extents:1 across:116524k SSFS
[ 10.644207] Adding 746984k swap on /dev/sda5. Priority:-2 extents:1 across:746984k FS
tc@box:~$ free -m
total used free shared buffers cached
Mem: 500 484 15 80 62 233
-/+ buffers/cache: 188 311
Swap: 843 5 838
==== Swap Partition ====
Setting up a swap partition during a fresh installation using [[http://tldp.org/HOWTO/Partition/fdisk_partitioning.html|fdisk]] is outlined in the [[dCore:installation_from_iso_without_boot_loader#partition_hard_drive|Partition Hard Drive]] and [[dCore:installation_from_iso_without_boot_loader#create_hard_drive_file_systems|Create Hard Drive File Systems]] sections of [[dCore:installation_from_ISO_without_boot_loader|dCore Install from ISO to Hard Drive Without Pre-Existing Boot Loader]]. For systems with a pre-partitioned drive, it may be easier to use a [[https://livecdlist.com/|Linux LiveCD]] that contains [[http://gparted.org/|GParted]]. Alternatively set up a swap file, outlined below. To confirm the swap partition is being used, reboot system and run the commands outlined above.
==== Swap File ====
If a swap partition was not set up prior to the installation of dCore, it would be easiest to set up a swap file rather than create a new swap partition. From a graphic environment open Control Panel (cpanel) -> Swapfile Tool (swapfile) and enter the desired mounted partition to utilize along with the desired swap file size. Then add the [[http://tinycorelinux.net/faq.html#bootcodes|swapfile bootcode]] to the system's boot loader to activate upon reboot, example ''swapfile=sda1''. To confirm the swap file is being used, reboot system and run the commands outlined above.
==== Boot Codes ====
For more information regarding Tiny Core Linux boot codes review [[wiki:boot_codes_explained|boot codes explained]].
The following swap related [[http://distro.ibiblio.org/tinycorelinux/faq.html#bootcodes|boot codes]] are available:
*swapfile: use the specified partition's swap file (eg. swapfile=sda2).
*noswap: disable use of any swap partition(s) (eg. noswap).
*nozswap: disable zswap (eg. nozswap).
==== Miscellaneous ====
As outlined, dCore automatically seeks available swap partition(s) at boot. If using the swapfile boot code, a swapfile needs to be set up in advance. By default dCore uses zswap, which sets aside a block of RAM to use as compressed swap space, so systems with adequate RAM may not require dedicated swap. Review the Wikipedia zswap link above for more information, especially the [[https://en.wikipedia.org/wiki/CPU|CPU]] cycles vs [[https://en.wikipedia.org/wiki/I/O|I/O]] tradeoff. Actual system experimentation is recommended to determine which swap options or boot codes are required, if any. This [[http://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/|Linux Swap File How To]] is a valuable resource for manually creating a swap file or experimenting with swappiness.
**[[dCore:welcome|> Return to the dCore Wiki Welcome page]]**