|
From: Edward M. <edw...@ce...> - 2005-02-06 20:52:04
|
On 6 Feb 2005, at 21:34, Nicholas Nethercote wrote: > On Sun, 6 Feb 2005, Edward Moyse wrote: > >> We've been having problems getting valgrind 2.2.0 working with our >> project. Older versions (e.g. <2.0.0) seemed to work okay. One of our >> IT folk says that since (according to the valgrind manual) MemCheck >> takes ~12 times more memory than usually needed, and our code takes >> 1Gb normally, valgrind will never work. Apparently the maximum >> addressable space on a 32-bit processor is 4Gb, so "unless you do >> something really smart with your swap space, you can never run >> valgrind" > > 2.2.0 does handle memory differently to 2.0.0, which can cause > problems. Without any more info about how things go wrong, we can't > give any help, though.\ Okay thanks - I'll try to get more details on monday. It's sunday evening here, so there isn't much I can do right now. > > The 12x figure is flat-out wrong; the expansion factor depends on a > bunch of things. I was surprised by that as well, but It definitely says 12x in the manual (just checked): "The amount of instrumentation code added varies widely between tools. At one end of the scale, Memcheck adds code to check every memory access and every value computed, increasing the size of the code at least 12 times, and making it run 25-50 times slower than natively. At the other end of the spectrum, the ultra-trivial "none" tool (a.k.a. Nulgrind) adds no instrumentation at all and causes in total "only" about a 4 times slowdown." > If you use 1GB, things will be pretty tight for Memcheck, which may be > the problem. You could try Addrcheck, which uses less memory. > He said that AddrCheck didn't work either, even on a machine with 3Gb of ram. Is he correct that there is a hard-limit of 4Gb for 32 machines? Is it believable that valgrind 2.2.0 could require 64bit machines in order to be used on this project? (I hope not!) Thanks! Ed |