Editing Swappolube
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
- | The SWAPPOLUBE is a user interface to the configuration of several parameters of the [[ | + | The SWAPPOLUBE is a user interface to the configuration of several parameters of the [[N900]] kernel with the aim to make it faster. |
It provides the ability to change a number of parameters while in operation and if chosen will make them persistent by adding a script to event.d to set them after each boot. | It provides the ability to change a number of parameters while in operation and if chosen will make them persistent by adding a script to event.d to set them after each boot. | ||
Line 9: | Line 9: | ||
[http://talk.maemo.org/showthread.php?t=62312 "Swappolube to lubricate your gui"]. | [http://talk.maemo.org/showthread.php?t=62312 "Swappolube to lubricate your gui"]. | ||
- | + | ---- | |
+ | |||
+ | =Installation= | ||
The application can be installed directly by the Application Manager (HAM) from the [[Extras]] repositories (check [http://maemo.org/packages/view/swappolube/ here] for its status). | The application can be installed directly by the Application Manager (HAM) from the [[Extras]] repositories (check [http://maemo.org/packages/view/swappolube/ here] for its status). | ||
Line 15: | Line 17: | ||
You can also find the latest version in the [https://garage.maemo.org/projects/swappolube/ garage project page]. | You can also find the latest version in the [https://garage.maemo.org/projects/swappolube/ garage project page]. | ||
- | + | ==Dependencies== | |
- | The editor depends | + | The editor depends (not verified yet) at: |
- | * python2.5 | + | * python2.5 |
- | * python2.5-qt4-gui | + | * python2.5-qt4-gui |
- | * python2.5-qt4-core | + | * python2.5-qt4-core |
- | * python2.5-qt4-maemo5 | + | * python2.5-qt4-maemo5 |
- | + | ---- | |
+ | =Usage= | ||
When the application loads it reads and displays the current configuration and the options already used by the system and displays them in the appropriate sections of the GUI. | When the application loads it reads and displays the current configuration and the options already used by the system and displays them in the appropriate sections of the GUI. | ||
- | + | ==Main configuration== | |
- | + | ||
- | + | ||
- | + | ||
+ | * The first row of checkboxes is to enable the setting. If unchecked it will not write anything for that option. | ||
* The second row can offer either string entry or a checkbox. | * The second row can offer either string entry or a checkbox. | ||
- | ** String: | + | ** String: integer value up to 4 digits. |
- | ** Checkbox: if checked will | + | ** Checkbox: if checked will give a "1", if not checked it's a "0" , i.e. True/False. |
- | + | ||
- | [[Image:swappolubeMain.png| | + | [[Image:swappolubeMain.png|600px]] |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
====Current Button==== | ====Current Button==== | ||
Line 58: | Line 49: | ||
[[Image:swappolubeMain_proposed.png|300px]] | [[Image:swappolubeMain_proposed.png|300px]] | ||
- | |||
- | |||
- | |||
- | |||
===Drop down menu=== | ===Drop down menu=== | ||
- | The drop down menu | + | The drop down menu will offer the following options: |
- | * | + | * Delete Tuning |
- | * | + | * About |
- | * | + | * Credits |
- | * | + | * Quit |
- | + | ||
+ | [[Image:swappolubeDropdown.png|600px]] | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
===Popup Menu=== | ===Popup Menu=== | ||
Line 99: | Line 76: | ||
[[Image:swappolube_deleteTuning.png|300px]] | [[Image:swappolube_deleteTuning.png|300px]] | ||
- | === | + | ===Credits=== |
- | + | ||
- | + | ||
- | + | ||
- | [[Image: | + | [[Image:swappolube_credits.png|600px]] |
- | + | ||
- | + | ||
- | + | ||
- | + | ---- | |
- | = | + | =Explanation of options= |
+ | =='''Swappiness'''== | ||
* Description: The swappiness parameter controls the tendency of the kernel to move processes out of physical memory and onto the swap disk. Because disks are much slower than RAM, this can lead to slower response times for system and applications if processes are too aggressively moved out of memory. [https://help.ubuntu.com/community/SwapFaq] | * Description: The swappiness parameter controls the tendency of the kernel to move processes out of physical memory and onto the swap disk. Because disks are much slower than RAM, this can lead to slower response times for system and applications if processes are too aggressively moved out of memory. [https://help.ubuntu.com/community/SwapFaq] | ||
* Default: "100" | * Default: "100" | ||
* Suggested: "30" | * Suggested: "30" | ||
- | * | + | *<code>echo "30" > /proc/sys/vm/swappiness</code> |
- | == | + | =='''Page Cluster'''== |
+ | *Default: "5" | ||
+ | *Suggested: "0" | ||
+ | *<code>echo "0" > /proc/sys/vm/page-cluster</code> | ||
- | * Description: | + | =='''Laptop Mode'''== |
- | + | * Description: laptop_mode is a knob that controls "laptop mode". When the knob is set, any physical disk I/O (that might have caused the hard disk to spin up, see /proc/sys/vm/block_dump) causes Linux to flush all dirty blocks. The result of this is that after a disk has spun down, it will not be spun up anymore to write dirty blocks, because those blocks had already been written immediately after the most recent read operation. The value of the laptop_mode knob determines the time between the occurrence of disk I/O and when the flush is triggered. A sensible value for the knob is 5 seconds. Setting the knob to 0 disables laptop mode. | |
- | + | ||
- | + | ||
- | |||
- | |||
- | |||
* Default: "0" | * Default: "0" | ||
* Suggested: "1" | * Suggested: "1" | ||
- | * | + | *<code>echo "1" > /proc/sys/vm/laptop_mode</code> |
- | == | + | =='''oom_kill_allocating_task'''== |
- | + | * Description: | |
- | * Description: | + | |
* Default: "0" | * Default: "0" | ||
* Suggested: "1" | * Suggested: "1" | ||
- | * | + | *<code>echo "1" > /proc/sys/vm/oom_kill_allocating_task</code> |
- | == | + | =='''dirty_expire_centisecs'''== |
- | + | * Description: | |
- | * Description: | + | * Default: "" |
- | * Default: " | + | |
* Suggested: "0" | * Suggested: "0" | ||
- | * | + | *<code>echo "0" > /proc/sys/vm/dirty_expire_centisecs</code> |
- | + | ||
- | + | ||
- | * Description: | + | =='''dirty_writeback_centisecs'''== |
- | * Default: " | + | * Description: |
+ | * Default: "" | ||
* Suggested: "0" | * Suggested: "0" | ||
- | * | + | *<code>echo "0" > /proc/sys/vm/dirty_writeback_centisecs</code> |
- | == | + | =='''dirty_background_ratio'''== |
- | + | * Description: | |
- | * Description: | + | |
* Default: "10" | * Default: "10" | ||
* Suggested: "60" | * Suggested: "60" | ||
- | * | + | *<code>echo "60" > /proc/sys/vm/dirty_background_ratio</code> |
- | == | + | =='''dirty_ratio'''== |
- | + | * Description: | |
- | * Description: | + | |
* Default: "40" | * Default: "40" | ||
* Suggested: "95" | * Suggested: "95" | ||
- | * | + | *<code>echo "95" > /proc/sys/vm/dirty_ratio</code> |
- | == | + | =='''tcp_timestamps'''== |
- | + | * Description: | |
- | * Description: | + | * Default: "" |
- | * Default: " | + | |
* Suggested: "0" | * Suggested: "0" | ||
- | * | + | *<code>echo "0" > /proc/sys/net/ipv4/tcp_timestamps</code> |
- | == | + | =='''tcp_no_metrics_save'''== |
- | + | * Description: | |
- | * Description: | + | * Default: "" |
- | * Default: " | + | |
* Suggested: "1" | * Suggested: "1" | ||
- | * | + | *<code>echo "1" > /proc/sys/net/ipv4/tcp_no_metrics_save</code> |
- | + | ||
- | + | ||
- | * Description: Controls the tendency of the kernel to reclaim the memory which is used for caching of directory and inode objects. At the default value of vfs_cache_pressure = 100 the kernel will attempt to reclaim dentries and inodes at a "fair" rate with respect to pagecache and swapcache reclaim. Decreasing vfs_cache_pressure causes the kernel to prefer to retain dentry and inode caches. Increasing vfs_cache_pressure beyond 100 causes the kernel to prefer to reclaim dentries and inodes. | + | =='''VFS Cache Pressure'''== |
+ | * Description:"Controls the tendency of the kernel to reclaim the memory which is used for caching of directory and inode objects.At the default value of vfs_cache_pressure = 100 the kernel will attempt to reclaim dentries and inodes at a "fair" rate with respect to pagecache and swapcache reclaim. Decreasing vfs_cache_pressure causes the kernel to prefer to retain dentry and inode caches. Increasing vfs_cache_pressure beyond 100 causes the kernel to prefer to reclaim dentries and inodes." | ||
* Default: "100" | * Default: "100" | ||
* Suggested: "100" (in search) | * Suggested: "100" (in search) | ||
- | * | + | *<code>echo "100" > /proc/sys/vm/vfs_cache_pressure</code> |
- | + | ---- | |
- | = | + | =Versions:= |
- | + | '''''v.0.3-1 (current)''''' | |
- | + | ||
- | + | ''changelog'': | |
+ | * Removed indirect dependency to the rootsh package (i.e. root command). | ||
+ | * Update in sudoers. | ||
+ | * Added new script to update, store and delete the configuration values. | ||
+ | * Restricted privileges of companion files. | ||
- | * none known/reported. | + | ''issues'': |
+ | * none known/reported. | ||
- | + | '''''v.0.2.0-3''''' | |
- | + | ''changelog'': | |
- | * | + | * Fix in the update of the VFSCachePressure value. Previous version did not store this correctly. |
- | + | * Fix in the reading of values from the system. A hiden linebreak (shown as space) was added in all values after hitting "Current" which blocked their later update. | |
- | * | + | |
- | + | ||
- | + | ''issues'': | |
+ | * depends indirectly to rootsh package. | ||
- | + | '''''v.0.2.0-2''''' | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ''changelog'': | |
+ | * Change of the Laptop Mode setting to string. | ||
+ | * Updated description. | ||
+ | * Some UI changes - beautifications. | ||
- | + | '''''v.0.2.0-1''''' | |
- | * Added new | + | ''changelog'': |
- | * | + | * Added two new buttons (current & proposed) to set the settings in the GUI. |
+ | * Added icons for the application manager and the desktop. | ||
+ | * Many code changes/splits in methods. | ||
+ | * Added several protections when handling updates. | ||
+ | * Fixed in GUI directional errors. | ||
+ | * Constrained the entry values to 4 digits. | ||
- | + | '''''v.0.1.0-8''''' | |
- | + | ''changelog'': | |
+ | * New button to update the settings. | ||
+ | * Transformed several fields from boolean to strings. | ||
- | + | ''NOTE'': For older versions please see the changelogs in the [https://garage.maemo.org/projects/swappolube/|project's garage page] | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ---- | |
- | == | + | =Future Development= |
+ | ''Note'': Just thoughts, not confirmed. | ||
+ | * Read the current configuration stored in the tuning script and automatically display it. | ||
+ | * Provide a button to show the default configuration. | ||
+ | * Store/Read the configuration from a file (easy for sharing). | ||
- | + | ---- | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
+ | =Swappolube-nogui= | ||
For those who don't want to tinker too much with kernel parameters, the package swappolube-nogui provides a fixed tuning profile "known to work". | For those who don't want to tinker too much with kernel parameters, the package swappolube-nogui provides a fixed tuning profile "known to work". | ||
Kernel parameters are modified at installation time, and the modification persist at the next boots. Package removal reverts parameters to the default values. | Kernel parameters are modified at installation time, and the modification persist at the next boots. Package removal reverts parameters to the default values. | ||
Line 332: | Line 217: | ||
* [https://garage.maemo.org/projects/swappolube/ Garage project page]. | * [https://garage.maemo.org/projects/swappolube/ Garage project page]. | ||
- | + | ---- | |
- | + | ||
- | + | ||
- | == | + | =License= |
+ | This program is free software; you can redistribute it and/or modify | ||
+ | it under the terms of the GNU General Public License as published | ||
+ | by the Free Software Foundation; version 2 only. | ||
- | 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. | + | =Disclaimer= |
+ | 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. | ||
[[Category:Software]] | [[Category:Software]] | ||
[[Category:N900]] | [[Category:N900]] |
Learn more about Contributing to the wiki.