Date: Fri, 8 Mar 2002 08:50:32 +0200 From: Dimitar Peikov <mitko@rila.bg> To: Matthew Dillon <dillon@apollo.backplane.com> Cc: drwilco@drwilco.net, silby@silby.com, bifrost@minions.com, cjp@sandstorm.net, freebsd-hackers@FreeBSD.ORG Subject: Re: Swapping performance Message-ID: <20020308085032.69568968.mitko@rila.bg> In-Reply-To: <200203071912.g27JC3A68645@apollo.backplane.com> References: <20020307095452.D18855-100000@frond.minions.com> <5.1.0.14.0.20020307193205.01c3b0f0@mail.drwilco.net> <200203071912.g27JC3A68645@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 7 Mar 2002 11:12:03 -0800 (PST) Matthew Dillon <dillon@apollo.backplane.com> wrote: > Hmm. well, I don't think this test is very meaningful. If the > machines have 256M of ram and the test is doing a two-swipe access of > 256M of VM. This doesn't represent any real test and I would not be > surprised by the difference in timing. > > It all comes down to how much real memory Linux and FreeBSD give to > the process and there is no right answer to the question because it's > a tradeoff. An OS does not magically know that only one process will > ever need all of the machine's resources, for example, so different > operating systems are going to have very different characteristics > under these sorts of conditions. One might give over more memory, > another might want to avoid completely blowing away its other caches. > One might work well for linux in a one-process memory test could fail > miserably in a multi-process memory test, for example, or with a > different pattern of memory accesses, or a different load split > between cpu, memory, and disk I/O. > > You (Dimitar and others) also need to be careful about making broad > generalizations. Testing pure swapping performance with the below > program implies that you intend to run applications that will need to > swap heavily (for example, big mathmatical applications). If you > don't intend to run applications that will need to swap heavily then > this test is fairly meaningless as a measure of performance. > I don't make any generalizations if I can't prove that for myself. If I increase the amount of MALLOC_SIZE in this test, the results goes much more worse. Even in case that I have 25 processes running concurently with this task (there is no X, almost empty system), the program runs but ... > Another point that I should bring up in regards to swap performance: > systems that require good swap performance will almost always have > more then one physical disk to swap to. FreeBSD is very good at > paging to swap with a single disk, but it kicks ass paging to swap > with multiple disks because it implements a very good interleaving > algorithm. > > -Matt > Matthew Dillon > <dillon@backplane.com> > > :Am I the only one who saw that he attached it to his 1st mail? > : > :Here you go: > : > :#include <stdlib.h> > :#include <string.h> > :#include <stdio.h> > : > :#define MALLOC_SIZE 1024*1024*256 > : > :int main(int argc, char **argv) { > : char *ptr; > : int i, i_count; > : int j; > : > : ptr = (char *) malloc(MALLOC_SIZE); > : bzero(ptr, MALLOC_SIZE); > : > : i_count = MALLOC_SIZE / 16; > : fprintf(stderr, "*"); > : for (i = 0; i < i_count; i ++) { > : ptr[i >> 4] = ptr[(i >> 3) + 1]++; > : } > : fprintf(stderr, "#"); > : for (j = 0; j < i_count; j ++) { > : ptr[j << 4] = ptr[(j >> 3) + 1]++; > : } > : > : free(ptr); > : return 0; > :} -- Dimitar Peikov Programmer Analyst Globalization Group "We Build e-Business" RILA Solutions 27 Building, Acad.G.Bonchev Str. 1113 Sofia, Bulgaria phone: (+359 2) 9797320 phone: (+359 2) 9797300 fax: (+359 2) 9733355 http://www.rila.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020308085032.69568968.mitko>