Am Dienstag, 16. November 2010, 18:24:25 schrieb Andreas Røsdal: > On Tue, 16 Nov 2010, Matthias Pfafferodt wrote: > > After the increase of the number of players and the map size I did plan a > > check of the memory requirement of the different freeciv versions. I > > finished this now and the attached pdf files shows some results. > > > > The first two pages show the RAM used by the server as listed by pmap. A > > savefile with the default settings and aifill = X, map size = Y at turn > > 100 was loaded. Only one value of X or Y was changed while the other was > > set to 10. > > > > The requirements increase fro release to release; but with 2.3 it goes > > down for bigger maps. I also tested a game with aifill 100 and mapsize > > 100 - the server allocates up to 900MB RAM! > > > > The last two slides show the size of the savegame. For small number of > > players and map sizes is is OK. But increasing these numbers the size of > > the savegame increases and, if both are set to 100 the uncompressed > > savegame reaches a size of over 100MB. For such savegames the time > > needed to compress the data is significant. > > > > For the client, the memory consumption is increased from 1.14 to 2.2 (xaw > > to gtk2). After that, nearly no change is visible. The client uses up to > > 500MB, mostly for the graphical toolkit. > > > > If there are questions please ask. > > These statistics are very interesting. It is a good idea to keep an eye on > the memory usage, since this would allow the game to scale better.
My aim was mainly to check if the increased number of players or the increased map size significantly increase the memory requirement for the 'default' games (i.e. map size below 20 and player number below 30). The first development versions after these patches needed up to 1.5 times the memory! > Another aspect of memory usage that I would also find interesting, is > how the memory usage scales when running multiple Freeciv servers on the > same host. For example, does running 10 servers at the same time also > require 10 times the memory? I do not know ;-) The memory usage can be split into two main types - libraries which can be used by several programs and program code (anon memory; see page 2). This memory is needed for _each_ server! An exemplary pmap output is attached. The anon memory displayed in the graph is the sum of [heap] + all [anon] + [stack] + [vdso] + [vsyscall]. But keep in mind that memory measurements are never exact. This are only the numbers reported by pmap and presented by me. I do not know how pmap gets these numbers or if my interpretation is correct! Matthias > > > Regards, > Andreas R. > www.freeciv.net -- Matthias Pfafferodt - http://www.mapfa.de Matthias.Pfafferodt <at> mapfa.de
11314: freeciv-server START SIZE RSS PSS DIRTY SWAP PERM MAPPING 0000000000400000 2048K 1204K 1204K 0K 0K r-xp /mnt/data/sdc6/matthias/git/tmp/memory/R2_3_0svn18459/server/freeciv-server 00000000007ff000 4K 4K 4K 4K 0K r--p /mnt/data/sdc6/matthias/git/tmp/memory/R2_3_0svn18459/server/freeciv-server 0000000000800000 24K 24K 24K 20K 0K rw-p /mnt/data/sdc6/matthias/git/tmp/memory/R2_3_0svn18459/server/freeciv-server 0000000000806000 28660K 27936K 27936K 27936K 0K rw-p [heap] 00007f09fe96e000 8K 8K 0K 0K 0K r-xp /lib64/libdl-2.11.2.so 00007f09fe970000 2048K 0K 0K 0K 0K ---p /lib64/libdl-2.11.2.so 00007f09feb70000 4K 4K 4K 4K 0K r--p /lib64/libdl-2.11.2.so 00007f09feb71000 4K 4K 4K 4K 0K rw-p /lib64/libdl-2.11.2.so 00007f09feb72000 304K 172K 10K 0K 0K r-xp /lib64/libncurses.so.5.7 00007f09febbe000 2044K 0K 0K 0K 0K ---p /lib64/libncurses.so.5.7 00007f09fedbd000 16K 16K 16K 16K 0K r--p /lib64/libncurses.so.5.7 00007f09fedc1000 24K 24K 24K 24K 0K rw-p /lib64/libncurses.so.5.7 00007f09fedc7000 1368K 580K 8K 0K 0K r-xp /lib64/libc-2.11.2.so 00007f09fef1d000 2048K 0K 0K 0K 0K ---p /lib64/libc-2.11.2.so 00007f09ff11d000 16K 16K 16K 16K 0K r--p /lib64/libc-2.11.2.so 00007f09ff121000 4K 4K 4K 4K 0K rw-p /lib64/libc-2.11.2.so 00007f09ff122000 20K 16K 16K 16K 0K rw-p [anon] 00007f09ff127000 344K 20K 0K 0K 0K r-xp /lib64/libm-2.11.2.so 00007f09ff17d000 2044K 0K 0K 0K 0K ---p /lib64/libm-2.11.2.so 00007f09ff37c000 4K 4K 4K 4K 0K r--p /lib64/libm-2.11.2.so 00007f09ff37d000 4K 4K 4K 4K 0K rw-p /lib64/libm-2.11.2.so 00007f09ff37e000 244K 172K 12K 0K 0K r-xp /lib64/libreadline.so.6.1 00007f09ff3bb000 2048K 0K 0K 0K 0K ---p /lib64/libreadline.so.6.1 00007f09ff5bb000 8K 8K 8K 8K 0K r--p /lib64/libreadline.so.6.1 00007f09ff5bd000 24K 24K 24K 24K 0K rw-p /lib64/libreadline.so.6.1 00007f09ff5c3000 8K 8K 8K 8K 0K rw-p [anon] 00007f09ff5c5000 80K 52K 3K 0K 0K r-xp /lib64/libz.so.1.2.3 00007f09ff5d9000 2048K 0K 0K 0K 0K ---p /lib64/libz.so.1.2.3 00007f09ff7d9000 4K 4K 4K 4K 0K r--p /lib64/libz.so.1.2.3 00007f09ff7da000 4K 4K 4K 4K 0K rw-p /lib64/libz.so.1.2.3 00007f09ff7db000 56K 32K 10K 0K 0K r-xp /lib64/libbz2.so.1.0.5 00007f09ff7e9000 2044K 0K 0K 0K 0K ---p /lib64/libbz2.so.1.0.5 00007f09ff9e8000 4K 4K 4K 4K 0K r--p /lib64/libbz2.so.1.0.5 00007f09ff9e9000 4K 4K 4K 4K 0K rw-p /lib64/libbz2.so.1.0.5 00007f09ff9ea000 124K 96K 0K 0K 0K r-xp /lib64/ld-2.11.2.so 00007f09ffa7d000 4K 4K 4K 4K 0K rw-p [anon] 00007f09ffa7e000 252K 24K 0K 0K 0K r--p /usr/lib/locale/en_US.utf8/LC_CTYPE 00007f09ffabd000 1140K 12K 0K 0K 0K r--p /usr/lib/locale/en_US.utf8/LC_COLLATE 00007f09ffbda000 20K 20K 20K 20K 0K rw-p [anon] 00007f09ffbf6000 4K 4K 0K 0K 0K r--p /usr/lib/locale/en_US.utf8/LC_NUMERIC 00007f09ffbf7000 4K 4K 0K 0K 0K r--p /usr/lib/locale/en_US.utf8/LC_TIME 00007f09ffbf8000 4K 4K 0K 0K 0K r--p /usr/lib/locale/en_US.utf8/LC_MONETARY 00007f09ffbf9000 4K 4K 0K 0K 0K r--p /usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES 00007f09ffbfa000 4K 4K 0K 0K 0K r--p /usr/lib/locale/en_US.utf8/LC_PAPER 00007f09ffbfb000 4K 4K 0K 0K 0K r--p /usr/lib/locale/en_US.utf8/LC_NAME 00007f09ffbfc000 4K 4K 0K 0K 0K r--p /usr/lib/locale/en_US.utf8/LC_ADDRESS 00007f09ffbfd000 4K 4K 0K 0K 0K r--p /usr/lib/locale/en_US.utf8/LC_TELEPHONE 00007f09ffbfe000 4K 4K 0K 0K 0K r--p /usr/lib/locale/en_US.utf8/LC_MEASUREMENT 00007f09ffbff000 28K 20K 0K 0K 0K r--s /usr/lib64/gconv/gconv-modules.cache 00007f09ffc06000 4K 4K 0K 0K 0K r--p /usr/lib/locale/en_US.utf8/LC_IDENTIFICATION 00007f09ffc07000 4K 4K 4K 4K 0K rw-p [anon] 00007f09ffc08000 4K 4K 4K 4K 0K r--p /lib64/ld-2.11.2.so 00007f09ffc09000 4K 4K 4K 4K 0K rw-p /lib64/ld-2.11.2.so 00007f09ffc0a000 4K 4K 4K 4K 0K rw-p [anon] 00007fff38114000 472K 468K 468K 468K 0K rw-p [stack] 00007fff381c8000 4K 4K 0K 0K 0K r-xp [vdso] ffffffffff600000 4K 0K 0K 0K 0K r-xp [vsyscall] Total: 49720K 31056K 29867K 28616K 0K 29288K writable-private, 20404K readonly-private, 28K shared, and 31056K referenced
_______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev