m (FAQ)
Line 131: Line 131:
'''0.1.0'' (Current Devel)'''''
'''0.1.1'' (Current Devel)'''''
* Added Spinbox and QSetting for Swap Used Warning threshold
* Big changes to backend, so new version number
* Big changes to backend, so new version number
* Change to get swap locations from blkid
* Change to get swap locations from blkid
Line 162: Line 165:
==Wiki Update==
==Wiki Update==
[[User:sixwheeledbeast|sixwheeledbeast]] 20:11, 8 October 2013 (UTC)
[[User:sixwheeledbeast|sixwheeledbeast]] 22:21, 21 September 2013 (UTC)

Revision as of 20:11, 8 October 2013



FlopSwap is a Swap management Tool for N900.

It features as a GUI to refresh your devices Linux Swap to speed up your VM.

Partition Requirements

Before installation your micro SD card needs setting up with two equally sized linux-swap partitions and one on the device (backup).

If you have not removed the swap partition on your device the later will already be working.


Swap fragmentation starts to occur, when total number of megabytes written during swap's life time exceed it's maximum size. Until that, swap is written in a sequential manner. Blocks that are no longer needed are marked as free, but never used.

After reaching end of swap space, previously used and freed blocks are rewritten, using new content. This means no longer writing sequentially causing massive slowdowns, to an already sluggish swap; when compared to RAM.

A workaround to this is to disable and enable swap again - linuxswap filesystem content doesn't live through restarts, and once re-enabled, is written sequentially again.

Flopswap does this by switching to a fresh swap space on every "reswap". By doing this it saves moving swap to B and back again, hence "FlopSwap".

Main Swap Partition on Micro SD

Putting the Main Swap space on your microSD saves the device from I/O conflicts between swap and /opt requests. Also flash based devices don't handle simultaneous, autonomous requests very well. Another huge advantage is that it reduces a large amount of wear & tear from the devices non-replaceable flash device, at expense of a cheap and replaceable microSD card.


More information on the package can be found ...

talk.maemo.org thread FlopSwap

Package Page


The latest versions can be found in the devel repository and can be installed using the N900 Application Manager (HAM).


There are four main actions:-

  • Fresh Swap

This swaps to a fresh SD swap space from either the device or another SD swap.

  • Swap to Device

This moves the swap space to the device so the back cover can be removed.

  • Show Current

Shows currently active swap(s) (cat /proc/swaps)

  • Check Usage

Shows current fresh swap usage percentage via hildon banner and recommends fresh swap at 94% via hildon dialog.


  • Enable uSD Swaps

This setting should be enabled to use FlopSwap. It is provided to disable starting on uSD swap for whatever reason.


Please report bugs to the talk.maemo.org thread page.



How do I setup linux-swap?


The easiest way is to use GParted on a desktop. Then make two equally sized "linux-swap" partitions, 800MB is fine. These partitions should be located after the first FAT partition.

The card will then have a FAT part (partition 1) swap1 (partition 2) and swap2 (partition 3).


Can we make FlopSwap run on a timer?


Yes, you can call the refresh script from a shell or cron/alarmed

sudo /opt/flopswap/script/swapswitch.sh


FlopSwap shows a dialog message saying swap can no longer be calculated


Unfortunately you have reached the limit that stock N900 shell can calculate. Use the timer method listed above to grab a fresh swap, while you sleep"


What type does the first partition have to be?


FAT32 is recommended as this type will work on all variations of Maemo. There is no reason why other file systems cannot be used.

Even if an incorrect file type is used this will not effect the operation of FlopSwap. However the card may show as "corrupt" to the device, you therefore cannot use this to store data.

Currently tested first partition types are :-

FAT32, ext2 and ext3


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (Version 2) as published by the Free Software.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.




0.1.1 (Current Devel)

  • Added Spinbox and QSetting for Swap Used Warning threshold


  • Big changes to backend, so new version number
  • Change to get swap locations from blkid
  • Change upstart file to use blkid
  • Support for CSSU upstart swap_sd in mount-ops-overwrite
  • General clean up and small fixes

0.0.6 (Current Testing)

  • Fix bug on Settings page stopping upstart file being created.


  • int32 workarounds by peterleinchen
  • Fix issue calculation issue after swapping to device


  • Changed Check Usage to Status
  • Changed scripts to work off swap written not swap used
  • Removed rootsh and sudser from depends list now uses update.sudoers


  • Added Keyboard shortcuts to Q,W,A and S keys.
  • Added Check Swap Usage button.


  • Added optional event.d upstart file (in settings menu)
  • Depends rootsh and sudser due to new event.d file


  • Initial Release

Wiki Update

sixwheeledbeast 20:11, 8 October 2013 (UTC)