On Dec 5, 2006, at 3:28 AM, Simon Marlow wrote:

Maybe your virtual server has set a limit on the data size for a process, that may be smaller than the total memory size allocated to the virtual machine. You said earlier that it was using 160M, how did you measure that?

If you run darcs with "+RTS -sstderr" you'll see how much memory the GHC heap was using (look for the "in use" figure). But the GHC runtime doesn't allocate memory via realloc(), it uses mmap(), so this is probably memory that darcs itself is allocating.

Hi,

I'm having what looks to be a similar problem, running darcs diff, except in a simpler environment. I'm not running any sort of virtual server; just a plain (modern) Linux dev box.

I'm just trying to dig out a single diff to a single file. This particular file has only about a half-dozen recorded changes to it, although the repo as a whole has something like 128 recorded changes.

darcs -version shows "1.0.8 (stable branch)".

Earlier in this thread, Juliusz suggested trying various GHCRTS settings. I had the same results as Leslie. That is, GHCRTS=-c made no difference; GHCRTS=-G1 seemed to take forever, so I had to kill it; GHCRTS="-c -G1" was rejected as an illegal combination.

Here's the result of ulimit -a and the overcommit_memory setting (which were requested of the previous user by Juliusz), as well as the output of darcs diff with +RTS -sstderr:

$ ulimit -a
core file size        (blocks, -c) unlimited
data seg size         (kbytes, -d) unlimited
file size             (blocks, -f) unlimited
max locked memory     (kbytes, -l) unlimited
max memory size       (kbytes, -m) unlimited
open files                    (-n) 1024
pipe size          (512 bytes, -p) 8
stack size            (kbytes, -s) 8192
cpu time             (seconds, -t) unlimited
max user processes            (-u) unlimited
virtual memory        (kbytes, -v) unlimited
$ cat /proc/sys/vm/overcommit_memory
0
$ darcs diff -p 8-24 rep039.tcl  +RTS -sstderr
darcs diff -p 8-24 rep039.tcl +RTS -sstderr

darcs failed:  Inverse patch failed!
realloc: resource exhausted (out of memory)
158,762,171,564 bytes allocated in the heap
102,601,472 bytes copied during GC
  4,632,032 bytes maximum residency (101 sample(s))

     604886 collections in generation 0 ( 32.60s)
        101 collections in generation 1 (  0.13s)

          9 Mb total memory in use

  INIT  time    0.00s  (  0.00s elapsed)
  MUT   time   73.80s  (142.73s elapsed)
  GC    time   32.73s  ( 32.72s elapsed)
  EXIT  time    0.00s  (  3.25s elapsed)
  Total time  106.53s  (178.70s elapsed)

  %GC time      30.7%  (18.3% elapsed)

  Alloc rate    2,151,248,937 bytes per MUT second

  Productivity  69.3% of total user, 41.3% of total elapsed

$

Have I just hit the limits of darcs's capabilities? Or does there seem to be something wrong that could be fixed?

Cheers,
 - arb

_______________________________________________
darcs-users mailing list
[email protected]
http://www.abridgegame.org/mailman/listinfo/darcs-users

Reply via email to