Hans Ole Rafaelsen <hrafael...@gmail.com> writes:

> Hello,
>
> Is there some tools / tricks that can be used to help find memory leaks?
>
> I have trouble with an application, that when running for a long time, starts
> to use a lot of CPU and consume more memory. It starts out by using about 20%
> CPU (reported by top) and after 24 hours it has increased to 80% usage. Also
> physical (RES) memory usage goes from 80M to 160M. The workload for the
> application is the same the whole time.
>
> Using OProfile (http://oprofile.sourceforge.net/news/) shows that that most of
> the time is being spent doing memory management.
>
> At startup:
> CPU: Core 2, speed 2667 MHz (estimated)
> Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit 
> mask
> of 0x00 (Unhalted core cycles) count 100000
> samples  %        image name               symbol name
> 52764    22.3913  vc_client.native         mark_slice
> 33580    14.2502  vc_client.native         caml_page_table_lookup
> 25415    10.7853  vc_client.native         sweep_slice
> 10119     4.2942  vc_client.native         caml_fl_allocate
> 6423      2.7257  [vdso] (tgid:9015 range:0x7fff4256c000-0x7fff4256d000) 
> [vdso]
> (tgid:9015 range:0x7fff4256c000-0x7fff4256d000)
> 5233      2.2207  vc_client.native        
> camlLividisvc__Nalbuf_tools__replace_pattern_1033
> 2759      1.1708  vc_client.native         caml_iterate_global_roots
> 2728      1.1577  vc_client.native         caml_modify
> 2473      1.0495  vc_client.native         caml_oldify_one
> 2204      0.9353  vc_client.native        
> camlLividisvc__Nalbuf_bytestream__search_1047
> 2183      0.9264  vc_client.native         caml_darken
> 1935      0.8212  vc_client.native         caml_stash_backtrace
> 1843      0.7821  vc_client.native         caml_do_roots
> 1838      0.7800  vc_client.native         caml_delete_global_root
>
> After ca. 24 hours run:
> CPU: Core 2, speed 2667 MHz (estimated)
> Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit 
> mask
> of 0x00 (Unhalted core cycles) count 100000
> samples  %        image name               symbol name
> 1137401  56.2697  vc_client.native         mark_slice
> 405598   20.0658  vc_client.native         sweep_slice
> 399832   19.7806  vc_client.native         caml_page_table_lookup
> 10106     0.5000  vc_client.native         caml_fl_allocate
> 3548      0.1755  vc_client.native         caml_iterate_global_roots
> 3397      0.1681  [vdso] (tgid:26129 range:0x7fff747ff000-0x7fff74800000)
> [vdso]
>  (tgid:26129 range:0x7fff747ff000-0x7fff74800000)
> 2797      0.1384  vc_client.native        
> camlLividisvc__Nalbuf_tools__replace_
> pattern_1033
> 2307      0.1141  vc_client.native        
> camlLividisvc__Nalbuf_bytestream__sea
> rch_1047
> 2005      0.0992  vc_client.native         caml_oldify_local_roots
> 1786      0.0884  vc_client.native         caml_gc_stat
> 1441      0.0713  vc_client.native         caml_oldify_one
> 1163      0.0575  vc_client.native         caml_darken
> 1163      0.0575  vc_client.native         caml_fl_merge_block
> 1032      0.0511  vc_client.native         camlHashtbl__find_1093
>
> The application uses several 3rd party libraries, including: LablGTK2,
> OCamlNet, LWT and others.
>
> Is there some clever trick that can by used to track down or get a hint of 
> what
> is causing this?
>
> Thanks,
>
> Hans Ole Rafaelsen

Are you calling the GC manually somewhere in the code or in one of the
libs?

MfG
        Goswin

-- 
Caml-list mailing list.  Subscription management and archives:
https://sympa-roc.inria.fr/wws/info/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Reply via email to