On 9/25/16 3:51 PM, Sean Zha wrote:

> Bash Version: 4.4
> Patch Level: 0
> Release Status: release
> 
> Description:
>       I use a huge value for HISTSIZE (=999999999) to enable infinite
>       history items. The actural size of ~/.bash_history is only 4MB now.
>       Everything worked fine before the lastest upgrade. Now bash refuse
>       me to login due to memory allocation failure. After choosing
>       a smaller HISTSIZE, bash still eatup too much unnesssary memory.
> 
> Repeat-By:
>       open a workable terminal with small HISTSIZE setting,
>       $ echo HISTSIZE=999999999 > ~/test.rc
>       $ bash --rcfile ~/test.rc
>         bash: xmalloc: cannot allocate 8000000008 bytes (114688 bytes 
> allocated)

Since you've specified the desired history size, bash tries to allocate
enough entries to hold all of the entries.  The assumption is that this
will reduce the number of allocations/reallocations and the number of
times the history list has to be copied as it's reallocated.  I suppose
I should cap the maximum value for which that occurs instead of trusting
the supplied max number of entries.

Chet


-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    c...@case.edu    http://cnswww.cns.cwru.edu/~chet/

Reply via email to