From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Trevor Bentley Newsgroups: gmane.emacs.bugs Subject: bug#43389: 28.0.50; Emacs memory leaks using hard disk all time Date: Mon, 23 Nov 2020 22:30:57 +0100 Message-ID: <87o8jnu5f2.fsf@mail.trevorbentley.com> References: <86y2j2brg2.fsf@protected.rcdrun.com> <83blfxth7c.fsf@gnu.org> <83y2j0qb2v.fsf@gnu.org> <831rgppg3w.fsf@gnu.org> <83zh3czbvz.fsf@gnu.org> <83blfovzxz.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; format=flowed Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40057"; mail-complaints-to="usenet@ciao.gmane.io" Cc: fweimer@redhat.com, 43389@debbugs.gnu.org, dj@redhat.com, michael_heerdegen@web.de, carlos@redhat.com, To: Eli Zaretskii , Jean Louis Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Nov 23 22:32:27 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1khJRi-000AGR-Al for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 23 Nov 2020 22:32:26 +0100 Original-Received: from localhost ([::1]:45740 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khJRh-0001jo-D8 for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 23 Nov 2020 16:32:25 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34260) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khJRK-0001j6-7R for bug-gnu-emacs@gnu.org; Mon, 23 Nov 2020 16:32:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39918) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1khJRK-0000bn-00 for bug-gnu-emacs@gnu.org; Mon, 23 Nov 2020 16:32:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1khJRJ-0006yN-T7 for bug-gnu-emacs@gnu.org; Mon, 23 Nov 2020 16:32:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Trevor Bentley Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 23 Nov 2020 21:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43389 X-GNU-PR-Package: emacs Original-Received: via spool by 43389-submit@debbugs.gnu.org id=B43389.160616707126738 (code B ref 43389); Mon, 23 Nov 2020 21:32:01 +0000 Original-Received: (at 43389) by debbugs.gnu.org; 23 Nov 2020 21:31:11 +0000 Original-Received: from localhost ([127.0.0.1]:51462 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1khJQT-0006xA-Tt for submit@debbugs.gnu.org; Mon, 23 Nov 2020 16:31:11 -0500 Original-Received: from mail.trevorbentley.com ([37.187.5.80]:45042) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1khJQQ-0006wf-P5 for 43389@debbugs.gnu.org; Mon, 23 Nov 2020 16:31:08 -0500 Original-Received: from localhost (c188-150-0-48.bredband.comhem.se [188.150.0.48]) by mail.trevorbentley.com (Postfix) with ESMTPSA id E2B5E60A2C; Mon, 23 Nov 2020 22:30:59 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.trevorbentley.com; s=mail; t=1606167060; bh=qUsodgiu6PCj9uR7U5c2SyVbu+oHCW0GJ1YxcHJgxoQ=; h=From:To:Cc:Cc:Subject:In-Reply-To:References:Date:From; b=HStsXoMQAOAu+PBEahOvH+qU6swAa+lMcagYp/nzEm5Zj9Hs/WQYbsH1G+uKQ0W+6 xREsQANsp7lh25C9KQjDIUHT6IglL0EVDq45p+ZB7Cs4/rvmuq5oERUsNSaNO3BtUV TPiBxAZbim2KE+agL8iUkZV91zLOcbJ1w1HfZhCs= In-Reply-To: <83blfovzxz.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:193990 Archived-At: Ah geez, there's a dozen threads now. I'll just start from here. I haven't setup the memory trace lib yet, but I've been running an instance of emacs and printing as much as I can about its memory usage, including (malloc-info). I reduced MALLOC_ARENA_MAX to 2. This instance sat around at ~300MB for a day, then spiked to 1000MB. I ran a bunch of memory-related functions, and it stopped growing. I believe (garbage-collect) halted the growth. It ran for another 3 days at ~1100MB until another sudden spike up to 2300MB. As usual, this is a graphical instance running emacs-slack with tons of network traffic and images and the such. In the mean time, while that instance was running, a second graphical instance suddenly spiked to 4100MB. The other instance is interesting, as it's not doing anything special at all. It has a few elisp files open, and reports only 700KB of buffers and 42.2MB in elisp data. A third graphical instance has been idling during this time. I've never done a single thing with it beyond start it. That one is still at 83MB. Below is a large memory report from the emacs-slack instance: ---------------- BEGIN LOG ---------------- ;;-------------------------------------- ;; one day of runtime ;; growing 1MB every few seconds RSS 1100MB ;; -------------------------------------- ;; -------------------------------------- (getenv ;; "MALLOC_ARENA_MAX") "2" buffers ~= 60MB (let ((size 0)) (dolist (buffer (buffer-list) size) (setq size (+ size (buffer-size buffer))))) 60300462 ;; sums to ~100MB if I'm reading it right? (garbage-collect) ((conses 16 1143686 1675416) (symbols 48 32466 160) (strings 32 241966 542675) (string-bytes 1 5872840) (vectors 16 116994) (vector-slots 8 8396419 357942) (floats 8 1705 7024) (intervals 56 27139 10678) (buffers 992 53)) ;; /proc/$PID/smaps heap 56395d707000-56399b330000 rw-p 00000000 00:00 0 [heap] Size: 1011876 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Rss: 1010948 kB Pss: 1010948 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 1010948 kB Referenced: 1007016 kB Anonymous: 1010948 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB FilePmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 0 ProtectionKey: 0 ;; malloc-info ;;-------------------------------------- ;;-------------------------------------- ;; ~3 hours later. ;; growth slowed after the previous (garbage-collect) ;; RSS 1140MB ;;-------------------------------------- ;;-------------------------------------- (memory-limit) ;; virtual memory, not RSS 1429620 (message "%f" gc-cons-threshold) "800000.000000" (message "%f" gc-cons-percentage) "0.100000" (emacs-uptime) "1 day, 4 hours, 50 minutes, 30 seconds" (message "%f" gcs-done) "708.000000" (message "%f" gc-elapsed) "201.724018" (message "%s" memory-full) "nil" (memory-use-counts) (224118465 575286 217714299 65607 946347937 563190 26430775) (memory-usage) ((conses 16 1199504 2511807) (symbols 48 32742 159) (strings 32 246671 575263) (string-bytes 1 5992063) (vectors 16 118364) (vector-slots 8 8412872 474129) (floats 8 1771 10028) (intervals 56 29873 12035) (buffers 992 60)) => 18.3MB (+ 38.3MB dead) in conses 1.50MB (+ 7.45kB dead) in symbols 7.53MB (+ 17.6MB dead) in strings 5.71MB in string-bytes 1.81MB in vectors 64.2MB (+ 3.62MB dead) in vector-slots 13.8kB (+ 78.3kB dead) in floats 1.60MB (+ 658kB dead) in intervals 58.1kB in buffers Total in lisp objects: 161MB (live 101MB, dead 60.2MB) Buffer ralloc memory usage: 60 buffers 64.4MB total ( 956kB in gaps) Size Gap Name 47795241 745530 *censored* 4681196 29261 *censored* 4543324 25017 *censored* 4478601 28398 *censored* 862373 622 *censored* 859981 4898 *censored* 859617 3696 *censored* 859355 4131 *censored* 859131 4009 *censored* 471538 6609 *censored* 60099 6451 *censored* 20589 1312 *censored* 19452 2129 *censored* 17776 1746 *censored* 16877 217 *censored* 16484 1447 *censored* 13488 56 *censored* 13212 1810 *censored* 12747 2081 *censored* 12640 2098 *censored* 12478 900 *censored* 12130 453 *censored* 10745 10186 *censored* 10703 2082 *censored* 9965 474 *censored* 9828 1075 *censored* 8000 226 *censored* 5117 1396 *censored* 4282 1891 *censored* 2546 1544 *censored* 1630 675 *censored* 1479 591 *censored* 1228 918 *censored* 883 1280 *censored* 679 1574 *censored* 678 5483 *censored* 513 27194 *censored* 299 1731 *censored* 232 3839 *censored* 131 1985 *censored* 97 1935 *censored* 92 1979 *censored* 72 1999 *censored* 69 1999 *censored* 69 4009 *censored* 67 1999 *censored* 64 1985 *censored* 62 6034 *censored* 62 1999 *censored* 61 1960 *censored* 28 4030 *censored* 27 1999 *censored* 0 2026 *censored* 0 20 *censored* 0 2065 *censored* 0 2072 *censored* 0 20 *censored* 0 20 *censored* 0 2059 *censored* 0 2037 *censored* ;;-------------------------------------- ;; 3 days later ;; RSS ;;--------------------------------------was steady at 1150MB ;; ;;--------------------------------------leaped to 2.3GB very ;;--------------------------------------suddenly ;; ;; RSS 2311M ;;--------------------------------------;; ~182MB (let ((size 0)) (dolist (buffer (buffer-list) size) (setq size (+ size (buffer-size buffer))))) 182903045 ;; sums to ~142MB if I'm reading it right? (garbage-collect) ((conses 16 2081486 2630206) (symbols 48 61019 79) (strings 32 353371 288980) (string-bytes 1 13294206) (vectors 16 144742) (vector-slots 8 9503757 592939) (floats 8 2373 8320) (intervals 56 46660 10912) (buffers 992 82)) (reduce '+ (cl-loop for thing in (garbage-collect) collect (* (nth 1 thing) (nth 2 thing)))) 142115406 ;; /proc/$PID/smaps heap 56395d707000-5639e0d43000 rw-p 00000000 00:00 0 [heap] Size: 2152688 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Rss: 2152036 kB Pss: 2152036 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 2152036 kB Referenced: 2146588 kB Anonymous: 2152036 kB LazyFree: 0 kB AnonHugePages: 0 kB ShmemPmdMapped: 0 kB FilePmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 0 ProtectionKey: 0 ;; malloc-info (malloc-info) (memory-limit) ;; virtual memory, not RSS 2630768 (message "%f" gc-cons-threshold) "800000.000000" (message "%f" gc-cons-percentage) "0.100000" (emacs-uptime) "4 days, 4 hours, 5 minutes, 3 seconds" (message "%f" gcs-done) "2140.000000" (message "%f" gc-elapsed) "760.624580" (message "%s" memory-full) "nil" ;; I belive this is cumulative, not current? (memory-use-counts) (989044259 2763760 754240919 143568 2633617972 2535567 76512576) (reduce '+ (memory-use-counts)) 4509544031 (memory-usage) ((conses 16 2081326 3094498) (symbols 48 61019 79) (strings 32 353291 494869) (string-bytes 1 13286757) (vectors 16 144725) (vector-slots 8 9503378 623467) (floats 8 2373 8320) (intervals 56 46640 11652) (buffers 992 82)) => 31.8MB (+ 47.2MB dead) in conses 2.79MB (+ 3.70kB dead) in symbols 10.8MB (+ 15.1MB dead) in strings 12.7MB in string-bytes 2.21MB in vectors 72.5MB (+ 4.76MB dead) in vector-slots 18.5kB (+ 65.0kB dead) in floats 2.49MB (+ 637kB dead) in intervals 79.4kB in buffers Total in lisp objects: 203MB (live 135MB, dead 67.8MB) Buffer ralloc memory usage: 82 buffers 176MB total (2.04MB in gaps) Size Gap Name 91928037 1241610 *censored* 27233492 123915 *censored* 16165441 173855 *censored* 15789683 66347 *censored* 15688792 205051 *censored* 3040510 1437 *censored* 3030476 17503 *censored* 3027663 15314 *censored* 3027493 16032 *censored* 3026818 15601 *censored* 211934 5198 *censored* 87685 23923 *censored* 57762 2629 *censored* 52780 677 *censored* 35991 2269 *censored* 25403 1824 *censored* 18008 1514 *censored* 16930 64 *censored* 16877 217 *censored* 16484 1447 *censored* 14232 14654 *censored* 14192 605 *censored* 13715 1130 *censored* 13575 1689 *censored* 13343 1377 *censored* 13198 1540 *censored* 13178 1598 *censored* 12747 2081 *censored* 10883 1902 *censored* 10271 632 *censored* 6402 44449 *censored* 5127 1386 *censored* 5005 1156 *censored* 4282 1891 *censored* 3840 2313 *censored* 3409 16717 *censored* 3409 16717 *censored* 2872 1186 *censored* 2541 1511 *censored* 2067 2011 *censored* 1630 675 *censored* 1626 444 *censored* 1490 679 *censored* 1413 26294 *censored* 1159 4937 *censored* 962 1063 *censored* 678 1574 *censored* 562 2297 *censored* 324 2008 *censored* 324 2008 *censored* 151 1967 *censored* 137 1887 *censored* 133 1983 *censored* 97 1935 *censored* 78 3998 *censored* 72 1999 *censored* 71 3985 *censored* 69 1999 *censored* 67 1999 *censored* 64 1985 *censored* 62 1999 *censored* 61 6035 *censored* 49 2008 *censored* 33 2038 *censored* 31 4040 *censored* 27 1999 *censored* 25 1999 *censored* 25 1999 *censored* 25 1999 *censored* 22 1999 *censored* 20 0 *censored* 16 2021 *censored* 16 4 *censored* 0 2026 *censored* 0 20 *censored* 0 5026 *censored* 0 2072 *censored* 0 20 *censored* 0 20 *censored* 0 2059 *censored* 0 20 *censored* 0 20 *censored* ---------------- END LOG ---------------- -Trevor