43 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | 
 | ||
|  | The default Linux Makefile (common/Makefile.machine.i686) uses /usr/bin/gawk | ||
|  | as the gawk interpreter.  To ensure correct working in UTF-8 locales run | ||
|  | /usr/bin/gawk --version and make sure it is at least version 3.1.5. | ||
|  | If not, it is recommended to install the latest version of gawk in | ||
|  | /usr/local/bin and update the GAWK variable accordingly. | ||
|  | 
 | ||
|  | ----------------------------------------------------------------------------- | ||
|  | From:    Alex Franz <alex@google.com> | ||
|  | Date:    Fri, 06 Oct 2000 16:14:03 PDT | ||
|  | 
 | ||
|  | And, here are the details of the malloc problem that I had with the SRI | ||
|  | LM toolkit: | ||
|  | 
 | ||
|  | I compiled it with gcc under Redhat Linux V. 6.2 (or thereabouts).  | ||
|  | The malloc routine has problems allocating large numbers of  | ||
|  | small pieces of memory. For me, it usually refuses to allocate | ||
|  | any more memory once it has allocated about 600 MBytes of memory, | ||
|  | even though the machine has 2 GBytes of real memory. | ||
|  | 
 | ||
|  | This causes a problem when you are trying to build language models | ||
|  | with large vocabularies. Even though I used -DUSE_SARRAY_TRIE -DUSE_SARRAY | ||
|  | to use arrays instead of hash tables, it ran out of memory when I was | ||
|  | trying to use very large vocabulary sizes. | ||
|  | 
 | ||
|  | The solution that worked for me was to use Wolfram Gloger's ptmalloc package  | ||
|  | for memory management instead. You can download it from  | ||
|  | 
 | ||
|  |   http://malloc.de/en/index.html | ||
|  | 
 | ||
|  | (The page suggests that it is part of the Gnu C library, but I had to | ||
|  | compile it myself and explicitly link it with the executables.) | ||
|  | 
 | ||
|  | One more thing you can do is call the function | ||
|  | 
 | ||
|  |   mallopt(M_MMAP_MAX, n);   | ||
|  | 
 | ||
|  | with a sufficiently large n; this tells malloc to allow you to | ||
|  | obtain a large amount of memory. | ||
|  | 
 | ||
|  | ------------------------------------------------------------------------------ | ||
|  | 
 |