emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Indentation and gc


From: Ihor Radchenko
Subject: Re: Indentation and gc
Date: Mon, 13 Mar 2023 18:04:43 +0000

Eli Zaretskii <eliz@gnu.org> writes:

>> Feel free to share the ideas on what else we could record there.
>
> I think we should start with that and add stuff as we go if needed.

I am not sure.
The package will require users to share the data manually.
Asking for such activity more than once will generate less replies than
a single ask.

So, I'd prefer to carefully discuss first what exactly we want to know
to decide about changing the thresholds.

>> I mean the following output for "top" bash command
>> 
>>   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
>> 31838 yantar92  20   0 1843744 800648 121684 S   0.3   5.0   1:12.48 emacs   
>>                 
>> 
>> VIRT is virtual memory and RES (or %MEM) is actually used.
>
> Ah, you mean RES.  That's the "resident" part of the memory, i.e. what
> the OS decided to keep in physical memory at this point; the rest is
> swapped out.  Basically, RES is not interesting, only the total
> virtual memory of the process (VIRT) is, because that's what is
> counted towards the total VM of the system.  Although the complication
> is that VIRT also includes the so-called "reserved" memory, which is
> not necessarily in-use yet.

This is a bit confusing then. From my experience, RES is often closer to
the memory-report results.

Moreover, VIRT can exceed Memory + Swap combined.

For example, emacs -Q gives

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND    
                                                                            
28887 yantar92  20   0  187964  76440  46816 S   0.0   0.5   0:00.90 emacs      
           
 2234 yantar92  20   0   28.2g 686492 138972 S   0.0   4.3  29:45.66 
QtWebEngineProc

(also, note VIRT for QtWebEngineProc, while I only have Mem 2.7GiB used
+ Swap 4.2GiB used).

Estimated Emacs Memory Usage

   3.2 MiB  Overall Object Memory Usage
   2.2 MiB  Memory Used By Global Variables
   1.3 MiB  Memory Used By Symbol Plists
   370 KiB  Reserved (But Unused) Object Memory
    66 KiB  Total Image Cache Size
    21 KiB  Total Buffer Memory Usage

Object Storage

   1.9 MiB  Vectors
   598 KiB  Conses
   492 KiB  Strings
   189 KiB  Symbols
   6.7 KiB  Buffer-Objects
   2.8 KiB  Intervals
     160 B  Floats

Largest Buffers

    11 KiB  *scratch*
   3.2 KiB  *Messages*
   2.4 KiB   *Echo Area 1*
   1.7 KiB   *Minibuf-1*
   1.3 KiB  *Memory Report*
   1.2 KiB   *Minibuf-0*
     170 B   *Echo Area 0*

Largest Variables

   273 KiB  load-history
   236 KiB  obarray
   156 KiB  definition-prefixes
    93 KiB  global-map
    80 KiB  coding-system-alist
    71 KiB  input-method-alist
    64 KiB  color-name-rgb-alist
    59 KiB  language-info-alist
    47 KiB  face--new-frame-defaults
    46 KiB  easy-menu-converted-items-table
    42 KiB  key-translation-map
    42 KiB  x-colors
    40 KiB  comp-known-type-specifiers
    38 KiB  menu-bar-options-menu
    34 KiB  comp-known-func-cstr-h
    31 KiB  comp-loaded-comp-units-h
    25 KiB  comp-eln-to-el-h
    22 KiB  iso-transl-char-map
    21 KiB  comp-subr-list
    20 KiB  auto-mode-alist



-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]