Simple configuration
Contents |
Simple configuration guide
Mldonkey and p2p application in general are complex tools.
Your computer has limited memory and CPU time resources.The memory is the space the application needs to work, memory is like an office: in a big office a lot of clerks(applications) are able to work at same time and in comfortable way. CPU is the processor unit which could execute instructions or operation with a limited frequency.When more applications are using this resource, slower will be their execution.You have to tune the CPU need of your application in order to not "saturate" CPU which could left your PC to run slow and not responsive. Another limited resource is the bandwidth of your network connections, your connection is like an highway you can give(upload) or receive(download) a limited amount of Bytes/sec. Sometimes you have heard about 20Mbit connections and so on, this is related to your download connection speed, sometimes upload speed is far less (you have to ask to your Internet Provider in order to find out the upload limit). You have to tune your p2p applications in order to not saturate your "highway": With a 20Mbit Down/ 1Mbit Up connections means you have about 2,5Mbyte/sec down/120Kbytes/sec maximum throughput.You have not to use all this power because this connection should be also used to navigate, email or by other users in your home and your computer needs to reserve part of your bandwidth in order to exchange control packets. By saturating the connection (free upload is very very important) 'll simply create congestion and a negative impact to connection capacity. With the over mentioned example limit the mldonkey application to only use 60 Kbyte/sec in upload and 1Mbyte/sec down could be reasonable.
Tune Bandwith settings
Edonkey settings
In order to operate well in emule-edonkey network you need
- Good Serverlist
- Good IPFilter
About serverslist you can configure mldonkey in order to get the best ones automatically at boot. You can add Peerates and gruk 's serverlist URL to the web_infos list for example (and could suffice for all needs). If you like more servers, add Gruk list too. Good IPFilter or guarding p2p database is emule-security(reccomended) 's one(Bluetack is good but a bit too much selective about servers). In order to configure and add these resources you can use Webinterface -> Options -> Web_infos
If your connection and your computer's resources agree it is a good idea to enable Kad.
About dangerous options it is important to verify these:
- set option ED2K-update_server_list_server to false
- set option ED2K-update_server_list_server_met to true
- set option ED2K-update_server_list_client to false
more to come
Tune Memory Usage
Note that under no circumstances you can expect MLdonkey to use less than let's say 15MB, although some versions run stable at significantly more. This is the list of options-features which you can look at for reducing memory usage, If you are experiencing memory problems try with this suggestions starting from the first respecting order. Disable GeoIP is the first try cause it is not a fundamental feature; IpFilters uses resources but is an important security/performance feature:
- disable Overnet... it is useless.
- disable GeoIP by editing web_infos in downloads.ini and removing the maxmind URL.
In case GeoIP still work perhaps you need to manually delete GeoIP database file from ./mldonkey
- disable unused networks from the options.
- When compiling, disable all unused networks; secure user identification (Donkey SUI) can be disabled as well.
- MLDonkey BT module is sometimes a CPU hog.If this problem triggers on your box use another BT application and disable BT module.
- use telnet or web interfaces instead of GTK GUIs
- disable options "emule_mods_count"and "emule_mods_showall" setting them to false
- Reduce value of option ED2K-max_sources_per_file,
default is 5000 but you can live with 2500 or less, for boxes with memory<=128Mbytes 1250 could be considered a reasonable value.
- set option "ip_blocking_descriptions" to false, this will not cache IP blocking data, reducing memory usage and raising CPU and Disk Usage.
- download fewer (popular) files at once or reduce the value of max sources
- try reducing the size of your shared list. For example, try sharing 200 files instead of 1000
- searches with large result lists use lots of RAM, take care to forget searches when finished
- GC tunings: decrease "compaction delay" and "space_overhead" options
compaction_delay is the maximum time interval between two garbage collections in hours.
space_overhead is the percentage of tolerated wasted memory, then GC is call. Decreasing this values gives higher CPU usage.
- Disable Kademlia (you are still connected to Emule network servers)
- Disable IpFilter, set ip_blocking_descriptions to false, but that should only be done if security is no concern.
Tune CPU Usage
You can monitor mldonkey's CPU and MEMORY usage on *nix using commandline command top which visualize informations similar to windows's task manager. Things are fine when mlnet (mldonkey application) uses CPU in a range between 2%-20%.When mlnet eats more than 50% CPU you can try to tune mldonkey configuration in order to make your box more responsive. A bunch of solutions for reducing memory usage are also solutions for too much CPU usage; there are other ways for reducing CPU load which raise memory consumption. You have to find out a tradeoff between usability, memory usage and cpu usage. These are tips for reducing CPU usage:
- Disable Overnet (Useless)
- Disable GeoIP
In case GeoIP still work perhaps you need to manually delete GeoIP database file from ./mldonkey
- Raise option "share scan interval", example set 120 means 2 hours, set 0 to disable automatic scan of shares
- Disable SUID (Emule Secure Identification)
- GC tunings: raise "compaction delay" and "space_overhead" options
compaction_delay is the maximum time interval between two garbage collections in hours. space_overhead is the percentage of tolerated wasted memory, then GC is call. Raising this values gives higher memory usage.
- Set option "ip_blocking_descriptions" to true.You'll use little more memory reducing CPU and disk usage.
Tune, a NAS example
NAS boxes are little computers with low power consumtion build with weak CPUs and an amount of memory currently around 128MBytes. These boxes usually provide other services and it is better to not use all resources for mldonkey's sake. These NASes has usually an integrated BT client and Wget(HTTP-FTP) application.Assuming you are using Mldonkey only for the edonkey network it is better to use a core compiled with only edonkey network module and features, you will obtain a lighter executable. On PowerPC based NAS you can enable and compile SUID, on ARM and MIPsel boxes I suggest to compile cores without SUID cause the SUID feature sometimes fails to work on those architectures.
- disable Overnet... it is useless.
- use only edonkey/emule network module (it is the most memory efficient) on boxes with Memory <= 128MBytes.You can also disable the other networks thru options.
- disable GeoIP by editing web_infos in downloads.ini and removing the maxmind URL.
In case GeoIP still work perhaps you need to manually delete GeoIP database file from ./mldonkey
- disable options "emule_mods_count"and "emule_mods_showall" setting them to false.
- Raise option "share scan interval", set 120 or 180 are good, use 0 only in order to disable automatic scan of shares and save more CPU.
- Reduce value of option ED2K-max_sources_per_file.
default is 5000 but you can live with 2500 or less, for boxes with memory<=128Mbytes, 1250 could be considered a reasonable value.
- Set option "ip_blocking_descriptions" to true for NAS with memory >=128Mbytes.
Set option "ip_blocking_descriptions" to false for NAS with memory <=128Mbytes.
- decrease "space_overhead".
default is still good but if you need more memory( on a box with memory <128MB?) for your box operations, you can decrease "space_overhead", example space_overhead = 60 or less. please give feedback about this point.
- disable Kad on boxes with Memory <128 Mbytes.